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:
@ -70,15 +70,31 @@
|
|||||||
- ENV: `HAKMEM_FREE_TINY_FAST_MONO_LEGACY_DIRECT=0/1`(default ON / opt-out)
|
- ENV: `HAKMEM_FREE_TINY_FAST_MONO_LEGACY_DIRECT=0/1`(default ON / opt-out)
|
||||||
- Rollback: `export HAKMEM_FREE_TINY_FAST_MONO_LEGACY_DIRECT=0`
|
- Rollback: `export HAKMEM_FREE_TINY_FAST_MONO_LEGACY_DIRECT=0`
|
||||||
|
|
||||||
### Next: Phase 11(次の芯)
|
### Phase 11 ENV Snapshot "maybe-fast" API — ❌ NO-GO / FROZEN(設計ミス)
|
||||||
|
|
||||||
Perf(Phase 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(次の芯)
|
||||||
|
|
||||||
|
Perf(Phase 10 後, Mixed)で残っている "次の固定費":
|
||||||
|
1. ~~ENV snapshot 系~~(Phase 11 で NO-GO、別アプローチ要検討)
|
||||||
|
2. **unified_cache_push**(~3.39% self%、marginal ROI ~+1.0% と予測)
|
||||||
|
|
||||||
候補(GO を狙う小パッチ):
|
候補(GO を狙う小パッチ):
|
||||||
1) **Phase 11: ENV Snapshot “maybe-fast” API(enabled+snapshot+front_snap を 1 回に集約)**
|
- perf プロファイルで次の高コスト箇所を特定
|
||||||
- 目的: `tiny_legacy_fallback_free_base()` を中心に、`hakmem_env_snapshot_enabled()` / `hakmem_env_snapshot()` / `tiny_front_v3_snapshot_get()` の固定費を削減
|
- または Phase 6-11 累積効果を再測定して次の戦略を決定
|
||||||
- 方針: ENV gate は維持しつつ、hot path は “cached gate + cached front_snap ptr” だけで判定(Fail-Fast / refresh は既存の箱境界へ)
|
|
||||||
- 指示書: `docs/analysis/PHASE11_ENV_SNAPSHOT_MAYBE_FAST_1_NEXT_INSTRUCTIONS.md`
|
|
||||||
|
|
||||||
## 更新メモ(2025-12-14 Phase 5 E5-3 Analysis - Strategic Pivot)
|
## 更新メモ(2025-12-14 Phase 5 E5-3 Analysis - Strategic Pivot)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user