Add perf/benchmark measurement principles for hot path changes
This commit is contained in:
@ -189,6 +189,11 @@ Do / Don’t(壊れやすいパターンの禁止)
|
||||
|
||||
※ 開発マシンと OS 環境は、基本的にセッションを通じて同一構成(同一ハードウェア・同一カーネル設定)を維持して運用しています。性能の変化は「コード差分」か「明示的に変更した ENV」の影響として扱い、マシン側の揺らぎで説明しない方針です。
|
||||
|
||||
- Perf / ベンチ計測の原則
|
||||
- ホットパス(Tiny front / SmallObject v3/v4 / Pool / Superslab)に手を入れるときは、必ず **変更前と変更後で同じプロファイルのベンチと perf** を 1 本ずつ取ってから評価すること(「perf を見ずに最適化しない」)。
|
||||
- Mixed 16–1024B は `HAKMEM_PROFILE=MIXED_TINYV3_C7_SAFE`、mid/smallmid は `HAKMEM_PROFILE=C6_HEAVY_LEGACY_POOLV1` を基準とし、A/B は原則この 2 本で行う。
|
||||
- 新しい箱を追加したら、CURRENT_TASK.md / docs/analysis 配下に A/B の ops/s と主要 self% を必ずメモしてから次の箱に進む。
|
||||
|
||||
- DSO 領域には触らない(Superslab OS Box のフェンス)
|
||||
- `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 回だけ出し、以降は触らない前提です。
|
||||
|
||||
Reference in New Issue
Block a user