diff --git a/CURRENT_TASK.md b/CURRENT_TASK.md index 685ca988..c4858c2d 100644 --- a/CURRENT_TASK.md +++ b/CURRENT_TASK.md @@ -5,7 +5,7 @@ ### Phase 1 Quick Wins: FREE 昇格 + 観測税ゼロ化 - ✅ **A1(FREE 昇格)**: `MIXED_TINYV3_C7_SAFE` で `HAKMEM_FREE_TINY_FAST_HOTCOLD=1` をデフォルト化 - ✅ **A2(観測税ゼロ化)**: `HAKMEM_DEBUG_COUNTERS=0` のとき stats を compile-out(観測税ゼロ) -- ❌ **A3(inline header)**: `tiny_region_id_write_header()` always_inline → **NO-GO** +- ❌ **A3(always_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) + +**B1(Header 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 + +**B3(Routing 分岐形最適化): 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