# Phase 58: Profile Split(Speed-first default + Balanced opt-in) 背景(Phase 57): - 60-min / tail proxy の両方で **Speed-first(`HAKMEM_SS_MEM_LEAN=0`)が勝ち**: - Throughput +3% - CV が大幅に低い - p99/p99.9 latency も低い - RSS/syscalls は実質同等 - Balanced(LEAN+OFF)は「安全に悪くない」だが、**“production default” の根拠が弱い**。 目的: - **MIXED_TINYV3_C7_SAFE の default を Speed-first に戻す**(ベンチの正を最速に) - Balanced は **別プロファイル**に分離し、用途で選べるようにする - どちらも ENV で上書き可能(戻せる) --- ## Step 1: bench_profile でプロファイルを分離 ### A) `MIXED_TINYV3_C7_SAFE`(Speed-first default) - `HAKMEM_SS_MEM_LEAN` を **デフォルト設定しない**(= 0 のまま) - 既に追加している 3 行を削除する(Phase 56 の rollback と同じ) ### B) `MIXED_TINYV3_C7_BALANCED`(Balanced opt-in) - 新しいプリセットを追加し、以下を入れる: ```c bench_setenv_default("HAKMEM_SS_MEM_LEAN", "1"); bench_setenv_default("HAKMEM_SS_MEM_LEAN_DECOMMIT", "OFF"); bench_setenv_default("HAKMEM_SS_MEM_LEAN_TARGET_MB", "10"); ``` --- ## Step 2: スコアカード(SSOT)の整理 更新先: - `docs/analysis/PERFORMANCE_TARGETS_SCORECARD.md` 追記: - “default(Speed-first)” と “Balanced(別プロファイル)” の位置づけ - Phase 57 の結論(Speed-first が勝ち、Balanced は用途限定) --- ## Step 3: 再計測(短縮版) Mixed 10-run(FAST build): - `HAKMEM_PROFILE=MIXED_TINYV3_C7_SAFE` - `HAKMEM_PROFILE=MIXED_TINYV3_C7_BALANCED` single-process 10-min tail proxy: - `EPOCH_SEC=1 DURATION_SEC=600` --- ## 判定 - **GO**: 2プロファイルが明確に住み分けでき、SSOT が矛盾なくなる - **NO-GO**: プロファイル分離で layout tax による回帰が出る(その場合は “default は据え置き+ドキュメントのみ” に切替)