Files
hakmem/docs/analysis/PHASE6_FRONT_FASTLANE_NEXT_INSTRUCTIONS.md
2025-12-14 16:28:23 +09:00

1.8 KiB
Raw Blame History

Phase 6: Front FastLaneLayer CollapseNext Instructions昇格

Status

  • Phase 6 FastLane は GO+11.13% Mixed 10-run
  • 結果: docs/analysis/PHASE6_FRONT_FASTLANE_1_AB_TEST_RESULTS.md
  • 実装: docs/analysis/PHASE6_FRONT_FASTLANE_1_IMPLEMENTATION_REPORT.md
  • 設計: docs/analysis/PHASE6_FRONT_FASTLANE_1_DESIGN.md

0. 目的

FastLane を本線昇格default ON / opt-outし、以後の baseline を引き上げる。

1. 昇格(本線化)

  1. default ON
  • ENV: HAKMEM_FRONT_FASTLANE=0/1
  • default: 1opt-out は HAKMEM_FRONT_FASTLANE=0
  1. プリセット ON
  • core/bench_profile.h の主要プロファイルで bench_setenv_default("HAKMEM_FRONT_FASTLANE","1")
  1. 安全ゲートFail-Fast
  • 初期化前(!g_initialized)は FastLane を使わず既存 wrapper にフォールバック

2. A/B最終確認

Mixed 10-runclean env:

OFF:

HAKMEM_FRONT_FASTLANE=0 scripts/run_mixed_10_cleanenv.sh

ON:

HAKMEM_FRONT_FASTLANE=1 scripts/run_mixed_10_cleanenv.sh

判定Mixed 10-run mean:

  • GO: +1.0% 以上
  • NEUTRAL: ±1.0%default ON は維持せず、再検討)
  • NO-GO: -1.0% 以下(即 rollback

3. 健康診断(必須)

scripts/verify_health_profiles.sh

4. Rollback

  • ENV: HAKMEM_FRONT_FASTLANE=0
  • あるいは本線 default を戻すdiff 1 箇所)

5. 次の候補Phase 6-2

FastLane 内で tiny_get_max_size() を毎回呼ぶのは、E4-2 の勝ち筋wrapper snapshotと逆方向なので、次はここを薄くする:

  • malloc_wrapper_env_get() 由来の tiny_max_size_256(または max_size 値)を FastLane に渡して “call を消す”
  • ただし “FastLane で同じ判定を二度しない” を守る(境界 1 箇所)