Files
hakmem/docs/analysis/PHASE6_FRONT_FASTLANE_NEXT_INSTRUCTIONS.md

65 lines
2.0 KiB
Markdown
Raw Normal View 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: **1**opt-out は `HAKMEM_FRONT_FASTLANE=0`
2) **プリセット ON**
- `core/bench_profile.h` の主要プロファイルで `bench_setenv_default("HAKMEM_FRONT_FASTLANE","1")`
3) **安全ゲートFail-Fast**
- 初期化前(`!g_initialized`)は FastLane を使わず既存 wrapper にフォールバック
## 2. A/B最終確認
Mixed 10-runclean env:
OFF:
```sh
HAKMEM_FRONT_FASTLANE=0 scripts/run_mixed_10_cleanenv.sh
```
ON:
```sh
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. 健康診断(必須)
```sh
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 箇所)
また、FastLane free 側は `free_tiny_fast()` と Tiny header 検証が二重になりやすいので、次の指示書で重複排除を優先する:
- `docs/analysis/PHASE6_FRONT_FASTLANE_2_FREE_DEDUP_NEXT_INSTRUCTIONS.md`