Phase ALLOC-TINY-FAST-DUALHOT-1: WIP (regression), FREE DUALHOT confirmed +13%
**ALLOC-TINY-FAST-DUALHOT-1** (this phase): - Implementation: malloc_tiny_fast() C0-C3 early-exit with policy snapshot skip - ENV: HAKMEM_TINY_ALLOC_DUALHOT=0/1 (default OFF) - A/B Result: -1.17% median regression (Mixed, 10-run) - Root Cause: Branch prediction penalty on C4-C7 outweighs policy skip benefit - Decision: Freeze as research box (default OFF) - Difference from FREE: ALLOC requires structural changes (per-class paths) **FREE-TINY-FAST-DUALHOT-1** (verified): - A/B Confirmation: +13.00% improvement (42.08M → 47.81M ops/s, Mixed, 10-run) - Success Criteria: +2% target ACHIEVED - Health Check: PASS (verify_health_profiles.sh, ENV OFF/ON) - Safety: HAKMEM_TINY_LARSON_FIX guard in place - Decision: Promotion to MIXED_TINYV3_C7_SAFE profile candidate **Next Steps**: - Profile adoption of FREE DUALHOT for MIXED workload - No further deep-dive on ALLOC optimization (deferred to future phases) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -27,6 +27,17 @@ DUALHOT optimized の perf で **alloc 側が次のボトルネック**に移行
|
||||
2) `core/front/malloc_tiny_fast.h` の `malloc_tiny_fast()` に `class_idx<=3` early-exit を追加
|
||||
3) health + 10-run A/B(Mixed / C6-heavy)
|
||||
|
||||
### Status: Phase ALLOC-TINY-FAST-DUALHOT-1 FROZEN ✅ (2025-12-13)
|
||||
|
||||
- **Safety**: health(ENV OFF/ON)PASS
|
||||
- **Mixed A/B(10-run, iter=100M, ws=400)**: median **-1.17%**(許容範囲内だが勝ち筋ではない)
|
||||
- **C6-heavy A/B(10-run, 10M ops)**: ±1% 程度でニュートラル
|
||||
- **Decision**: default OFF のまま freeze(opt-in 研究用)
|
||||
|
||||
次の攻め先(候補):
|
||||
- `malloc` / Front Gate の “構造的” オーバーヘッド(PGO/定数化・include/inline の整理で枝を消す)
|
||||
- Free 側は `FREE-TINY-FAST-DUALHOT-1` の昇格手順(HOTCOLD=1 前提のため、標準プロファイル採用の可否を決める)
|
||||
|
||||
---
|
||||
|
||||
## 前フェーズ: Phase POOL-MID-DN-BATCH 完了 ✅(研究箱として freeze 推奨)
|
||||
|
||||
Reference in New Issue
Block a user