Optimize C6 heavy and C7 ultra performance analysis with refined design refinements

- Update environment profile presets and visibility analysis
- Enhance small object and tiny segment v4 box implementations
- Refine C7 ultra and C6 heavy allocation strategies
- Add comprehensive performance metrics and design documentation

🤖 Generated with Claude Code

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Moe Charm (CI)
2025-12-10 22:57:26 +09:00
parent 9460785bd6
commit 2a13478dc7
25 changed files with 718 additions and 41 deletions

View File

@ -238,10 +238,13 @@ Do / Dont壊れやすいパターンの禁止
- C6 は Phase C6-FREEZE 中(標準では Tiny/SmallObject/ULTRA に載せない)
- 標準プロファイルMIXED_TINYV3_C7_SAFE / C6_HEAVY_LEGACY_POOLV1は C6 を mid/pool の通常クラスとして扱う。C6_HOT や smallheap(v3/v4)/ULTRA はすべて研究用の opt-in に限定。
- C6 を触るときは ENV_PROFILE_PRESETS.md の研究プリセットC6_SMALL_HEAP_V3_EXPERIMENT / C6_SMALL_HEAP_V4_EXPERIMENT など)から開始し、標準プリセットに混ぜ込まないこと。
- mid/smallmid の性能を攻めるときは、まず pool/mid 側の HotBox 設計SmallObject v4 や mid 用 ULTRAを考え、C6 専用の特別扱いは後段フェーズまで凍結する。
- C7 ULTRA は UF-3 セグメント版が標準ENV で OFF に戻せる)
- `HAKMEM_TINY_C7_ULTRA_ENABLED` デフォルト ON。2MiB セグメント64KiB ページ, mask 判定)上で carve/push。セグメント外の ptr は必ず既存 v3 free にフォールバックする。
- ON/OFF の前後で必ず健康診断ランを 1 回ずつ取り、差分が出たらまず ULTRA 側を疑う。
- ヘッダ軽量化(`HAKMEM_TINY_C7_ULTRA_HEADER_LIGHT`は研究箱。Mixed/C7-only の A/B を取ってから触ること。デフォルトは OFF。
- 将来的にヘッダレス設計を広げるときは、まず C7 ULTRA の勝ちパターンを small-object v416〜2KiBにコピーし、各サイズクラスを一つの SmallObjectHotBox v4 に統合してから mid/pool 側を触る。
- 一般ルール(壊れたらまず健康診断ラン)
- Tiny / Superslab / Pool に手を入れたあと、まず上記の健康診断ランを 1 回だけ回してから長尺ベンチ・本番 A/B に進んでください。