Changes: - scripts/box/pgo_fast_profile_config.sh: Expanded WS patterns (3→5) and seeds (1→3) for reduced overfitting and better production workload representativeness - PERFORMANCE_TARGETS_SCORECARD.md: Phase 68 baseline promoted (61.614M = 50.93%) - CURRENT_TASK.md: Phase 68 marked complete, Phase 67a (layout tax forensics) set Active Results: - 10-run verification: +1.19% vs Phase 66 baseline (GO, >+1.0% threshold) - M1 milestone: 50.93% of mimalloc (target 50%, exceeded by +0.93pp) - Stability: 10-run mean/median with <2.1% CV 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
Phase 63: FAST Profile-Fixed Build(結果)
目的:
- FAST(ベンチ専用)で、MIXED_TINYV3_C7_SAFE の「常時ON/OFFが確定している gate」を compile-time 定数に落として DCE を狙う。
- link-out/物理削除は避け、compile-time 分岐のみで可逆にする(layout tax 回避の方針維持)。
実装
- Build flag:
HAKMEM_FAST_PROFILE_FIXED=0/1(default 0) - 新ターゲット:
make bench_random_mixed_hakmem_fast_fixed-DHAKMEM_BENCH_MINIMAL=1 -DHAKMEM_FAST_PROFILE_FIXED=1- baseline は
bench_random_mixed_hakmem_minimal
主な定数化(FAST fixed のみ):
front_fastlane_enabled()→ 1front_fastlane_class_mask()→ 0xFFfront_fastlane_free_dedup_enabled()→ 1fastlane_direct_enabled()→ 1tiny_free_static_route_enabled()→ 1free_tiny_direct_enabled()→ 1malloc_wrapper_env_snapshot_enabled()/free_wrapper_env_snapshot_enabled()→ 1tiny_header_hotfull_enabled()→ 1malloc_tiny_direct_enabled()→ 0(research box)front_fastlane_alloc_legacy_direct_enabled()→ 0(research box)hak_learner_env_should_run()→ 0
補足:
front_fastlane_alloc_legacy_direct_env_refresh_from_env()はリンク整合のためシンボルは保持しつつ、FAST fixed では no-op/固定OFFにした。
A/B(Mixed 10-run, clean env)
- Baseline:
BENCH_BIN=./bench_random_mixed_hakmem_minimal scripts/run_mixed_10_cleanenv.sh - Treatment:
BENCH_BIN=./bench_random_mixed_hakmem_fast_fixed scripts/run_mixed_10_cleanenv.sh
結果:
- Baseline mean: 61.997 M ops/s
- Treatment mean: 62.387 M ops/s
- Delta (mean): +0.63%
- Baseline median: 62.055 M ops/s
- Treatment median: 62.457 M ops/s
判定:
- NEUTRAL(Phase 63 の GO 基準: +2.0% mean 以上には未達)
- ただし正方向のシグナルはあるため、FAST fixed build は research build として維持。
次の判断
- 追加の gate 定数化は「実行確認(perf runtime)」が取れたものだけを対象にする。
- 触っても 0.5% 未満が続く場合は、Phase 63 を打ち切り(“固定税削減”は Phase 24–39 で概ね枯渇済み)として、別の軸へ移行する。