69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
|
|
# Phase 4 Status - Executive Summary
|
|||
|
|
|
|||
|
|
**Date**: 2025-12-14
|
|||
|
|
**Status**: E1 GO(opt-in), E2 FROZEN, E3-4 GO(opt-in)
|
|||
|
|
**Baseline**: Mixed 20M/ws=400(E1/E3-4 の ON/OFF に依存。結果は各 A/B セクション参照)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Quick Status
|
|||
|
|
|
|||
|
|
### E2 Decision: FREEZE ✅ (NEUTRAL)
|
|||
|
|
|
|||
|
|
**Result**: -0.21% mean, -0.62% median (NEUTRAL)
|
|||
|
|
|
|||
|
|
**Why Freeze?**
|
|||
|
|
- Alloc route optimization saturated by Phase 3 C3 (static routing)
|
|||
|
|
- Free DUALHOT worked (+13%) because it skipped expensive ops
|
|||
|
|
- Alloc DUALHOT doesn't work (-0.21%) because route already cached
|
|||
|
|
- **Lesson**: Per-class specialization only helps when bypassing uncached overhead
|
|||
|
|
|
|||
|
|
**Action**: Keep as research box (default OFF), no further investigation
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## E1/E3-4 Results (Mixed A/B)
|
|||
|
|
|
|||
|
|
### E1: ENV Snapshot Consolidation ✅ GO (opt-in)
|
|||
|
|
|
|||
|
|
**Result**: +3.92% avg, +4.01% median
|
|||
|
|
**ENV**: `HAKMEM_ENV_SNAPSHOT=1`(default OFF)
|
|||
|
|
|
|||
|
|
### E3-4: ENV Constructor Init ✅ GO (opt-in)
|
|||
|
|
|
|||
|
|
**Result**: +4.75% mean, +4.35% median(E1=1 前提)
|
|||
|
|
**ENV**: `HAKMEM_ENV_SNAPSHOT=1 HAKMEM_ENV_SNAPSHOT_CTOR=1`(default OFF)
|
|||
|
|
|
|||
|
|
**Note**: “constructor での pre-main init” を効かせたい場合はプロセス起動前に ENV を設定(bench_profile putenv だけでは遅い)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 4 Cumulative Status
|
|||
|
|
|
|||
|
|
**Active**:
|
|||
|
|
- E1 (ENV Snapshot): +3.92% ✅ GO(opt-in)
|
|||
|
|
- E3-4 (ENV CTOR): +4.75% ✅ GO(opt-in, requires E1)
|
|||
|
|
|
|||
|
|
**Frozen**:
|
|||
|
|
- D3 (Alloc Gate Shape): +0.56% ⚪
|
|||
|
|
- E2 (Alloc Per-Class FastPath): -0.21% ⚪
|
|||
|
|
|
|||
|
|
## Next Actions
|
|||
|
|
|
|||
|
|
1. E3-4 の “hint/refresh” 調整後に 10-run 再確認(昇格前の最終ゲート)
|
|||
|
|
2. GO 維持なら `ENV_PROFILE_PRESETS.md` と `CURRENT_TASK.md` に “E1+E3-4 の推奨セット” を明記
|
|||
|
|
3. E1/E3-4 ON の状態で perf を取り直して次の芯を選ぶ(alloc gate / free_tiny_fast_cold など)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Key Lessons
|
|||
|
|
|
|||
|
|
1. **Route optimization saturated**: C3 already cached routes, E2 no benefit
|
|||
|
|
2. **Shape optimization plateaued**: D3 +0.56% neutral, branch prediction saturated
|
|||
|
|
3. **ENV consolidation successful**: E1 +3.92%, constructor init is next step
|
|||
|
|
4. **Different optimization vectors needed**: Move beyond route/shape to init/dispatch overhead
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**Full Analysis**: `/mnt/workdisk/public_share/hakmem/docs/analysis/PHASE4_COMPREHENSIVE_STATUS_ANALYSIS.md`
|