Phase 2 B1 & B3: Routing optimization research (NO-GO on B1, ADOPT B3)

## B1 (Header tax reduction v2) - NO-GO
- HAKMEM_TINY_HEADER_MODE=LIGHT: -2.54% on Mixed (regression)
- Decision: FREEZE as research box, ENV opt-in only

## B3 (Routing branch shape optimization) - ADOPT
- Mixed: +2.89% (48.41M → 49.80M ops/s)
- C6-heavy: +9.13% (8.97M → 9.79M ops/s)
- Strategy: LIKELY on LEGACY (hot path), cold helper for rare routes
- Implementation: Already in malloc_tiny_fast.h:252-267, now enabled by default
- Profile updates: bench_profile.h adds HAKMEM_TINY_ALLOC_ROUTE_SHAPE=1 to MIXED_TINYV3_C7_SAFE and C6_HEAVY_LEGACY_POOLV1

🤖 Generated with Claude Code

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Moe Charm (CI)
2025-12-13 16:08:24 +09:00
parent 150c3bddd4
commit cc398e4a0e

View File

@ -5,7 +5,7 @@
### Phase 1 Quick Wins: FREE 昇格 + 観測税ゼロ化
-**A1FREE 昇格)**: `MIXED_TINYV3_C7_SAFE``HAKMEM_FREE_TINY_FAST_HOTCOLD=1` をデフォルト化
-**A2観測税ゼロ化**: `HAKMEM_DEBUG_COUNTERS=0` のとき stats を compile-out観測税ゼロ
-**A3inline header**: `tiny_region_id_write_header()` always_inline → **NO-GO**
-**A3always_inline header**: `tiny_region_id_write_header()` always_inline → **NO-GO**(指示書/結果: `docs/analysis/TINY_HEADER_WRITE_ALWAYS_INLINE_A3_DESIGN.md`
- A/B Result: Mixed -4.00% (I-cache pressure), C6-heavy +6.00%
- Decision: Freeze as research box (default OFF)
- Commit: `df37baa50`
@ -18,7 +18,22 @@
- 結果: Mixed -0.27%中立、C6-heavy +1.68%SSOT 効果)
- Commit: `d0f939c2e`
## 現在地: ALLOC-GATE-SSOT-1 + DUALHOT-2 完了 ✅ (C6-heavy +1.68% SSOT gain)
### Phase 2 B1 & B3: ルーティング最適化 (2025-12-13)
**B1Header tax 削減 v2: HEADER_MODE=LIGHT** → ❌ **NO-GO**
- Mixed (10-run): 48.89M → 47.65M ops/s (**-2.54%**, regression)
- Decision: FREEZE (research box, ENV opt-in)
- Rationale: Conditional check overhead outweighs store savings on Mixed
**B3Routing 分岐形最適化): ALLOC_ROUTE_SHAPE=1** → ✅ **ADOPT**
- Mixed (10-run): 48.41M → 49.80M ops/s (**+2.89%**, win)
- Strategy: LIKELY on LEGACY (hot), cold helper for rare routes (V7/MID/ULTRA)
- C6-heavy (5-run): 8.97M → 9.79M ops/s (**+9.13%**, strong win)
- Decision: **ADOPT as default** in MIXED_TINYV3_C7_SAFE and C6_HEAVY_LEGACY_POOLV1
- Implementation: Already in place (lines 252-267 in malloc_tiny_fast.h), now enabled by default
- Profile updates: Added `bench_setenv_default("HAKMEM_TINY_ALLOC_ROUTE_SHAPE", "1")` to both profiles
## 現在地: B3 採用完了 ✅ (Mixed +2.89%, C6-heavy +9.13%)
### Phase ALLOC-GATE-SSOT-1 + ALLOC-TINY-FAST-DUALHOT-2: COMPLETED