# 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()` → 1 - `front_fastlane_class_mask()` → 0xFF - `front_fastlane_free_dedup_enabled()` → 1 - `fastlane_direct_enabled()` → 1 - `tiny_free_static_route_enabled()` → 1 - `free_tiny_direct_enabled()` → 1 - `malloc_wrapper_env_snapshot_enabled()` / `free_wrapper_env_snapshot_enabled()` → 1 - `tiny_header_hotfull_enabled()` → 1 - `malloc_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 で概ね枯渇済み)として、別の軸へ移行する。