Files
hakmem/docs/analysis/PHASE63_FAST_PROFILE_FIXED_BUILD_RESULTS.md

51 lines
2.2 KiB
Markdown
Raw Normal View History

# 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()` → 0research box
- `front_fastlane_alloc_legacy_direct_enabled()` → 0research box
- `hak_learner_env_should_run()` → 0
補足:
- `front_fastlane_alloc_legacy_direct_env_refresh_from_env()` はリンク整合のためシンボルは保持しつつ、FAST fixed では no-op/固定OFFにした。
## A/BMixed 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 2439 で概ね枯渇済み)として、別の軸へ移行する。