Files
hakmem/docs/analysis/PHASE6_FRONT_FASTLANE_NEXT_INSTRUCTIONS.md
2025-12-14 17:09:57 +09:00

65 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`