From cc398e4a0e90a19aa32c64f53dad3bfb8ded8672 Mon Sep 17 00:00:00 2001 From: "Moe Charm (CI)" Date: Sat, 13 Dec 2025 16:08:24 +0900 Subject: [PATCH] Phase 2 B1 & B3: Routing optimization research (NO-GO on B1, ADOPT B3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 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 --- CURRENT_TASK.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) 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