Document that dev machine/env are kept constant across sessions
This commit is contained in:
@ -187,6 +187,8 @@ Do / Don’t(壊れやすいパターンの禁止)
|
|||||||
このリポジトリは Superslab / madvise / Pool v1 flatten など OS 依存の経路を多用します。
|
このリポジトリは Superslab / madvise / Pool v1 flatten など OS 依存の経路を多用します。
|
||||||
「いつの間にか壊れていた」を防ぐために、次の“健康診断ラン”と注意事項を守ってください。
|
「いつの間にか壊れていた」を防ぐために、次の“健康診断ラン”と注意事項を守ってください。
|
||||||
|
|
||||||
|
※ 開発マシンと OS 環境は、基本的にセッションを通じて同一構成(同一ハードウェア・同一カーネル設定)を維持して運用しています。性能の変化は「コード差分」か「明示的に変更した ENV」の影響として扱い、マシン側の揺らぎで説明しない方針です。
|
||||||
|
|
||||||
- DSO 領域には触らない(Superslab OS Box のフェンス)
|
- DSO 領域には触らない(Superslab OS Box のフェンス)
|
||||||
- `core/box/ss_os_acquire_box.h` の `ss_os_madvise_guarded()` は **libc/libm/ld.so など DSO 領域を dladdr で検出したら即スキップ** します。
|
- `core/box/ss_os_acquire_box.h` の `ss_os_madvise_guarded()` は **libc/libm/ld.so など DSO 領域を dladdr で検出したら即スキップ** します。
|
||||||
- DSO に対する madvise 試行は **バグ扱い**。`g_ss_madvise_disabled` / DSO-skip ログを必ず 1 回だけ出し、以降は触らない前提です。
|
- DSO に対する madvise 試行は **バグ扱い**。`g_ss_madvise_disabled` / DSO-skip ログを必ず 1 回だけ出し、以降は触らない前提です。
|
||||||
@ -232,3 +234,7 @@ Do / Don’t(壊れやすいパターンの禁止)
|
|||||||
- Tiny / Superslab / Pool に手を入れたあと、まず上記の健康診断ランを 1 回だけ回してから長尺ベンチ・本番 A/B に進んでください。
|
- Tiny / Superslab / Pool に手を入れたあと、まず上記の健康診断ランを 1 回だけ回してから長尺ベンチ・本番 A/B に進んでください。
|
||||||
- 健康診断ランが落ちる場合は **新しい最適化を積む前に** Box 境界(ptr 分類 / Superslab OS Box / Pool v1 flatten Box)を優先的に直します。
|
- 健康診断ランが落ちる場合は **新しい最適化を積む前に** Box 境界(ptr 分類 / Superslab OS Box / Pool v1 flatten Box)を優先的に直します。
|
||||||
- ベンチや評価を始めるときは、`docs/analysis/ENV_PROFILE_PRESETS.md` のプリセット(MIXED_TINYV3_C7_SAFE / C6_HEAVY_LEGACY_POOLV1 / DEBUG_TINY_FRONT_PERF)から必ずスタートし、追加した ENV はメモを残してください。単発の ENV を散らすと再現が難しくなります。
|
- ベンチや評価を始めるときは、`docs/analysis/ENV_PROFILE_PRESETS.md` のプリセット(MIXED_TINYV3_C7_SAFE / C6_HEAVY_LEGACY_POOLV1 / DEBUG_TINY_FRONT_PERF)から必ずスタートし、追加した ENV はメモを残してください。単発の ENV を散らすと再現が難しくなります。
|
||||||
|
- 健康診断ラン(簡易チェック)は次の 2 本を必ず通す:
|
||||||
|
- Tiny/Mixed: `HAKMEM_PROFILE=MIXED_TINYV3_C7_SAFE ./bench_random_mixed_hakmem 1000000 400 1` (35〜38M ops/s / segv/assert なしで OK)
|
||||||
|
- mid/smallmid C6: `HAKMEM_PROFILE=C6_HEAVY_LEGACY_POOLV1 ./bench_mid_large_mt_hakmem 1 1000000 400 1` (約29M ops/s / segv/assert なしで OK)
|
||||||
|
- まとめて実行する場合は `scripts/verify_health_profiles.sh` を 1 回叩けば OK(スループットは目安表示のみ、exit code だけで判定)。
|
||||||
|
|||||||
Reference in New Issue
Block a user