51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
|
|
# 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 で概ね枯渇済み)として、別の軸へ移行する。
|
|||
|
|
|