Summary: - E7 frozen box prune: -3.20% regression (NO-GO) with clean ENV - Keep E5-2/E5-4 (NEUTRAL) + E6 (NO-GO) as research boxes - Regression due to build differences (LTO/layout/alignment), not logic Results: - Winning boxes: E4-1 (+3.51%), E4-2 (+21.83%), E5-1 (+3.35%) → adopted - Frozen boxes: E5-2, E5-4, E6, E7 → kept with ENV gates (doc as assets) - Phase 5 cumulative progress: +6.43% on MIXED profile Documentation updates: - PHASE5_E7_FROZEN_BOX_PRUNE_AB_TEST_RESULTS.md: Final NO-GO record - PHASE5_E7_FROZEN_BOX_PRUNE_NEXT_INSTRUCTIONS.md: E7 conclusion Next phase planning: - PHASE_ML2_CHATGPT_QUESTIONNAIRE_FASTLANE.md: Design consultation template - Candidates: dedup new boundaries, PGO/layout optimization feasibility 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Phase 5 E7: Frozen Box Prune(結論: NO-GO / やらない)
Status(2025-12-14)
- 結果: NO-GO(削除で -3%台 の回帰)
- 結論: “diet(凍結箱の削除)” は採用しない(凍結箱は default OFF のまま コード保持)
- 詳細:
docs/analysis/PHASE5_E7_FROZEN_BOX_PRUNE_AB_TEST_RESULTS.md
Why(なぜ “削る” は危ない?)
- E7 は “削除前/削除後” の 別バイナリ比較になり、LTO/配置/インライン等の二次効果が支配する。
- “コードを減らせば速い” は成立しない(むしろ配置が崩れて回帰し得る)。
bench_setenv_default()は export 済み ENV を上書きしないため、dirty ENV のまま測ると比較が壊れる。
Rules(今後の運用)
- A/B は 同一バイナリで ENV トグル(研究箱は削除しない)。
- Mixed ベンチは
scripts/run_mixed_10_cleanenv.shを使い、研究 knobs を明示 OFF(ENV 漏れ防止)。 - “削る” をやるならまずは削除ではなく、
cold/noinlineへ退避して 同一バイナリ内で遠ざける(境界1箇所・戻せる)。
References
- 結果:
docs/analysis/PHASE5_E7_FROZEN_BOX_PRUNE_AB_TEST_RESULTS.md - clean-env runner:
scripts/run_mixed_10_cleanenv.sh