Files
hakmem/docs/analysis/PHASE82_C2_LOCAL_CACHE_HOTPATH_EXCLUSION.md
Moe Charm (CI) 89a9212700 Phase 83-1 + Allocator Comparison: Switch dispatch fixed (NO-GO +0.32%), PROFILE correction, SCORECARD update
Key changes:
- Phase 83-1: Switch dispatch fixed mode (tiny_inline_slots_switch_dispatch_fixed_box) - NO-GO (marginal +0.32%, branch reduction negligible)
  Reason: lazy-init pattern already optimal, Phase 78-1 pattern shows diminishing returns

- Allocator comparison baseline update (10-run SSOT, WS=400, ITERS=20M):
  tcmalloc: 115.26M (92.33% of mimalloc)
  jemalloc: 97.39M (77.96% of mimalloc)
  system: 85.20M (68.24% of mimalloc)
  mimalloc: 124.82M (baseline)

- hakmem PROFILE correction: scripts/run_mixed_10_cleanenv.sh + run_allocator_quick_matrix.sh
  PROFILE explicitly set to MIXED_TINYV3_C7_SAFE for hakmem measurements
  Result: baseline stabilized to 55.53M (44.46% of mimalloc)
  Previous unstable measurement (35.57M) was due to profile leak

- Documentation:
  * PERFORMANCE_TARGETS_SCORECARD.md: Reference allocators + M1/M2 milestone status
  * PHASE83_1_SWITCH_DISPATCH_FIXED_RESULTS.md: Phase 83-1 analysis (NO-GO)
  * ALLOCATOR_COMPARISON_QUICK_RUNBOOK.md: Quick comparison procedure
  * ALLOCATOR_COMPARISON_SSOT.md: Detailed SSOT methodology

- M2 milestone status: 44.46% (target 55%, gap -10.54pp) - structural improvements needed

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 18:50:00 +09:00

1.2 KiB
Raw Blame History

Phase 82: C2 Local Cache — Hot Path Exclusion (Hardening)

Goal

Keep the Phase 79-1 C2 local cache as a research box, but guarantee it is not evaluated on hot paths (alloc/free), so it cannot accidentally affect SSOT performance while remaining available for future research.

This matches the repos layout-tax learnings:

  • Avoid physical deletion/link-out for “unused” features (can regress via layout changes).
  • Prefer default OFF + not-referenced-on-hot-path for frozen research boxes.

What changed

Removed any alloc/free hot-path attempts to use C2 local cache.

  • Alloc hot path: core/box/tiny_front_hot_box.h
    • C2 local cache probe blocks removed.
  • Free legacy fallback: core/box/tiny_legacy_fallback_box.h
    • C2 local cache probe blocks removed.

Includes and implementation files remain in the tree (research box preserved):

  • core/box/tiny_c2_local_cache_env_box.h
  • core/box/tiny_c2_local_cache_tls_box.h
  • core/front/tiny_c2_local_cache.h
  • core/tiny_c2_local_cache.c

Behavior

  • HAKMEM_TINY_C2_LOCAL_CACHE=1 does not change the Mixed SSOT behavior because no hot-path code checks it.
  • Research work can reintroduce it behind a separate, explicit boundary when needed.