Files
hakmem/PHASE_ML2_CHATGPT_QUESTIONNAIRE_FASTLANE.md
Moe Charm (CI) e48cbff4b9 Phase 5 Complete: E7 NO-GO confirmed + ChatGPT Pro questionnaire
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>
2025-12-14 08:56:09 +09:00

88 lines
3.8 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 ML2: 外部LLM向け 質問状FastLane / Layer Collapse 設計レビュー)
## 0. 目的
- mimalloc との差を詰めるための「次の高 ROI 設計」を外部レビューで得る。
- 箱理論Box Theoryを守り、**ENV で戻せる**・**境界1箇所**・**Fail-Fast**・**最小可視化**の形で提案してほしい。
## 1. 重要な前提(比較の作法)
- 以後の A/B は **同一バイナリで ENV トグル**が原則(削除/追加で別バイナリにすると、LTO/配置差で結果が崩れる)。
- 参考: `docs/analysis/PHASE5_E7_FROZEN_BOX_PRUNE_AB_TEST_RESULTS.md`
- `bench_setenv_default()` は export 済み ENV を上書きしないため、過去の実験 ENV が残ると比較が壊れる。
- Mixed 10-run 実行補助: `scripts/run_mixed_10_cleanenv.sh`
## 2. 現在地(事実メモ)
### 2.1 競合比較Mixed 161024B, 2025-12-05 時点)
- HAKMEM: **44.45M ops/s**
- mimalloc: **117.20M ops/s**
- system: **90.95M ops/s**
- 出典: `CURRENT_TASK_ARCHIVE_20251210.md`
※ 現在は上積みが進んでいるが、mimalloc との距離感の基準として引用。
### 2.2 直近の勝ち筋
- “分岐形/ヒント” は飽和しやすいZen で branch miss rate が低い)。
- 一方で **重複排除(境界の一本化)** と **ENV/TLS 読み回数の削減**は勝ちやすい。
- “凍結箱を削るdiet” は **NO-GO**(別バイナリ比較になり、配置差が支配的)。
## 3. 読んでほしい資料(最小セット)
1. `AGENTS.md`(箱理論ルール)
2. `CURRENT_TASK.md`(直近の勝ち箱/負け箱の記録)
3. `PERF_PROFILE_ANALYSIS_20251204.md`(ホットスポット俯瞰)
4. `docs/analysis/PHASE5_E5_COMPREHENSIVE_ANALYSIS.md`E4/E5 系の学び)
5. `docs/analysis/PHASE5_E7_FROZEN_BOX_PRUNE_AB_TEST_RESULTS.md`(別バイナリ A/B の罠)
制約:
- `/home/user/hakmem_private/...` のような **絶対パス**は使わず、ファイル名/パスは **repo 相対**で書いてください。
## 4. 質問(回答フォーマット指定)
### Q1. 次の「芯」の優先順位(必須)
次の 3 案を **ROI / リスク / 工数**で順位付けし、推奨案を 1 つ選んでください。
- A) **Front FastLane**: wrapper + gate + policy + route を “hot 1箱” に畳み、cold 側へ単一フォールバック
- B) **ptr→meta 到達の O(1) 化**を mid/pool に波及segment/mask 方式で lookup 地獄を避ける)
- C) **触るメモリ削減**cache miss / minor fault を減らすための geometry/metadata 見直し)
### Q2. 推奨案の Box 分割(必須)
推奨案について、以下を提示してください。
- 箱名L0/L1/L2…
- 箱の責務(各 1 文)
- 境界 API関数名・引数・戻り値
- “変換点は 1 箇所” をどこに置くか
### Q3. Fail-Fast と安全ゲート(必須)
- fast path に入れる条件(必要最小)
- 必ず fallback する条件(安全側)
- 不変条件assert/範囲チェック/ワンショットログ等、最小)
### Q4. 戻せる導入プラン(必須)
Phase 0〜2 くらいの小パッチ順序で提示してください。
- ENV gate 名と default
- A/B の評価コマンドMixed 10-run + 可能なら perf stat
- GO/NO-GO 閾値(例: +1.0% 以上で GO、-1.0% 以下で NO-GO 等)
### Q5. “mimalloc に追いつく” の現実ライン(必須)
- 現状の多層構造wrapper→gate→policy→route→handlerを保ったままの上限ざっくり %
- parity に近づくために「統合/削除しないと無理」な層がどこか(具体)
## 5. 期待する回答形式(これで返してほしい)
1. 1枚サマリ箇条書き
2. Box 図ASCIIでOK
3. API 一覧
4. A/B 手順と閾値
5. リスクと対策(戻せる手段を含む)