Update CURRENT_TASK: Phase 11 NO-GO (-8.35%), identify next targets

Phase 11 failed due to design flaw:
- maybe_fast() API called in inline hot path functions
- ctor_mode check accumulated on every call
- Compiler optimization inhibited

Next candidates:
- unified_cache_push (~3.39% self%, marginal ROI)
- Perf profiling to identify next high-cost path

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Moe Charm (CI)
2025-12-14 20:45:23 +09:00
parent ad73ca5544
commit 16c7bce2d3

View File

@ -70,15 +70,31 @@
- ENV: `HAKMEM_FREE_TINY_FAST_MONO_LEGACY_DIRECT=0/1`default ON / opt-out
- Rollback: `export HAKMEM_FREE_TINY_FAST_MONO_LEGACY_DIRECT=0`
### Next: Phase 11(次の芯
### Phase 11 ENV Snapshot "maybe-fast" API — ❌ NO-GO / FROZEN設計ミス
PerfPhase 10 後, Mixedで残っている “次の固定費” は **ENV snapshot 系(`hakmem_env_snapshot*` / `tiny_front_v3_snapshot_get`****unified_cache_push** が目立つ
結果: Mixed 10-run mean **-8.35%**51.65M → 47.33M ops/s`hakmem_env_snapshot_maybe_fast()` を inline 関数内で呼ぶことによる固定費が予想外に大きく、大幅な劣化が発生
根本原因:
- `maybe_fast()``tiny_legacy_fallback_free_base()`inline内で呼んだことで、毎回の free で `ctor_mode` check が走る
- 既存設計(関数入口で 1 回だけ `enabled()` 判定と異なり、inline helper 内での API 呼び出しは固定費が累積
- コンパイラ最適化が阻害されるunconditional call vs conditional branch
教訓: ENV gate 最適化は **gate 自体**を改善すべきで、call site を変更すると逆効果。
- 指示書(完了): `docs/analysis/PHASE11_ENV_SNAPSHOT_MAYBE_FAST_1_NEXT_INSTRUCTIONS.md`
- 実装 + A/B: `docs/analysis/PHASE11_ENV_SNAPSHOT_MAYBE_FAST_1_AB_TEST_RESULTS.md`
- コミット: `ad73ca554`NO-GO 記録のみ、実装は完全 rollback
- 状態: **FROZEN**ENV snapshot 参照の固定費削減は別アプローチが必要)
### Next: Phase 12次の芯
PerfPhase 10 後, Mixedで残っている "次の固定費":
1. ~~ENV snapshot 系~~Phase 11 で NO-GO、別アプローチ要検討
2. **unified_cache_push**~3.39% self%、marginal ROI ~+1.0% と予測)
候補GO を狙う小パッチ):
1) **Phase 11: ENV Snapshot “maybe-fast” APIenabled+snapshot+front_snap を 1 回に集約)**
- 目的: `tiny_legacy_fallback_free_base()` を中心に、`hakmem_env_snapshot_enabled()` / `hakmem_env_snapshot()` / `tiny_front_v3_snapshot_get()` の固定費を削減
- 方針: ENV gate は維持しつつ、hot path は “cached gate + cached front_snap ptr” だけで判定Fail-Fast / refresh は既存の箱境界へ)
- 指示書: `docs/analysis/PHASE11_ENV_SNAPSHOT_MAYBE_FAST_1_NEXT_INSTRUCTIONS.md`
- perf プロファイルで次の高コスト箇所を特定
- または Phase 6-11 累積効果を再測定して次の戦略を決定
## 更新メモ2025-12-14 Phase 5 E5-3 Analysis - Strategic Pivot