Add perf/benchmark measurement principles for hot path changes

This commit is contained in:
Moe Charm (CI)
2025-12-10 19:49:44 +09:00
parent f2ce7256cd
commit 49a1fe8416

View File

@ -189,6 +189,11 @@ Do / Dont壊れやすいパターンの禁止
※ 開発マシンと OS 環境は、基本的にセッションを通じて同一構成(同一ハードウェア・同一カーネル設定)を維持して運用しています。性能の変化は「コード差分」か「明示的に変更した ENV」の影響として扱い、マシン側の揺らぎで説明しない方針です。
- Perf / ベンチ計測の原則
- ホットパスTiny front / SmallObject v3/v4 / Pool / Superslabに手を入れるときは、必ず **変更前と変更後で同じプロファイルのベンチと perf** を 1 本ずつ取ってから評価すること「perf を見ずに最適化しない」)。
- Mixed 161024B は `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 回だけ出し、以降は触らない前提です。