Phase 35-A: BENCH_MINIMAL gate function elimination (GO +4.39%) - tiny_front_v3_enabled() → constant true - tiny_metadata_cache_enabled() → constant 0 - learner_v7_enabled() → constant false - small_learner_v2_enabled() → constant false Phase 36: Policy snapshot init-once (GO +0.71%) - small_policy_v7_snapshot() version check skip in BENCH_MINIMAL - TLS cache for policy snapshot Phase 37: Standard TLS cache (NO-GO -0.07%) - TLS cache for Standard build attempted - Runtime gate overhead negates benefit Phase 38: FAST/OBSERVE/Standard workflow established - make perf_fast, make perf_observe targets - Scorecard and documentation updates Phase 39: Hot path gate constantization (GO +1.98%) - front_gate_unified_enabled() → constant 1 - alloc_dualhot_enabled() → constant 0 - g_bench_fast_front, g_v3_enabled blocks → compile-out - free_dispatch_stats_enabled() → constant false Results: - FAST v3: 56.04M ops/s (47.4% of mimalloc) - Standard: 53.50M ops/s (45.3% of mimalloc) - M1 target (50%): 5.5% remaining 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
# CURRENT_TASK(Rolling)
|
||
|
||
## 0) 今の「正」(Phase 39)
|
||
|
||
- **性能比較の正**: **FAST build**(`make perf_fast`)
|
||
- **安全・互換の正**: Standard build(`make bench_random_mixed_hakmem`)
|
||
- **観測の正**: OBSERVE build(`make perf_observe`)
|
||
- **スコアカード**: `docs/analysis/PERFORMANCE_TARGETS_SCORECARD.md`
|
||
- **計測の正(Mixed 10-run)**: `scripts/run_mixed_10_cleanenv.sh`(`ITERS=20000000 WS=400`)
|
||
|
||
## 1) 現状(最新スナップショット)
|
||
|
||
- FAST v3: **56.04M ops/s**(mimalloc の **47.4%**)
|
||
- Standard: **53.50M ops/s**(mimalloc の **45.3%**)
|
||
|
||
※詳細は `docs/analysis/PERFORMANCE_TARGETS_SCORECARD.md` を正とする(ここは要点だけ)。
|
||
|
||
## 2) 原則(Box Theory 運用)
|
||
|
||
- 変更は箱で分ける(ENV / build flag で戻せる)
|
||
- 境界は 1 箇所(変換点を増やさない)
|
||
- **削除して速くする(link-out / 大きい削除)は封印**(layout/LTO で符号反転する)
|
||
- ✅ compile-out(`#if HAKMEM_*_COMPILED` / `#if HAKMEM_BENCH_MINIMAL`)は許容
|
||
- ❌ Makefile から `.o` を外す / コード物理削除は原則しない(Phase 22-2 NO-GO)
|
||
- A/B は **同一バイナリ**でトグル(ENV / build flag)。別バイナリ比較は layout が混ざる。
|
||
|
||
## 3) 次の指示書
|
||
|
||
TBD(Phase 39 完了)
|
||
|
||
## 4) 直近のログ(要点だけ)
|
||
|
||
- Phase 24–34: atomic prune 累積 **+2.74%**(その後 diminishing returns)
|
||
- Phase 35-A: `HAKMEM_BENCH_MINIMAL=1`(gate prune)**GO +4.39%**
|
||
- Phase 36: FAST-only policy snapshot 最適化 **GO +0.71%**
|
||
- Phase 37: Standard TLS cache **NO-GO**(runtime gate の税が勝つ)
|
||
- Phase 38: FAST/OBSERVE/Standard 運用確立(scorecard + Makefile targets)
|
||
- Phase 39: FAST v3 gate 定数化 **GO +1.98%**
|
||
- 結果詳細: `docs/analysis/PHASE39_FAST_V3_GATE_CONSTANTIZATION_RESULTS.md`
|
||
|
||
## 5) アーカイブ
|
||
|
||
- 旧 `CURRENT_TASK.md`(詳細ログ)は `archive/CURRENT_TASK_ARCHIVE_20251216.md`
|
||
|