Major Features: - Debug counter infrastructure for Refill Stage tracking - Free Pipeline counters (ss_local, ss_remote, tls_sll) - Diagnostic counters for early return analysis - Unified larson.sh benchmark runner with profiles - Phase 6-3 regression analysis documentation Bug Fixes: - Fix SuperSlab disabled by default (HAKMEM_TINY_USE_SUPERSLAB) - Fix profile variable naming consistency - Add .gitignore patterns for large files Performance: - Phase 6-3: 4.79 M ops/s (has OOM risk) - With SuperSlab: 3.13 M ops/s (+19% improvement) This is a clean repository without large log files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
873 B
873 B
Phase 6.21 Plan — Owner Inbound (2025-10-23)
目的: Large の free/ミス時の共有依存をさらに削り、per‑thread ローカル化を強化(mimalloc の tcache 振る舞いに近づける)。
変更点(シンプル/段階的)
- Owner inbound(MPSC, per‑owner, per‑class)を導入(ENV:
HAKMEM_L25_OWNER_INBOUND=1)- free: page‑desc.owner_tid を見て owner inbound へ CAS 1回で push
- alloc: 自分の inbound をリング残が閾値以下のときだけ少量 drain→TLS(リング/LIFO)
- 実装留意
- inbound は固定スロット(既定 512)。
HAKMEM_L25_INBOUND_SLOTSで縮小可能 - owner が未登録/見つからなければ従来の TC 経路へフォールバック
- inbound は固定スロット(既定 512)。
計測
- 3s/5s(timing OFF)で head‑to‑head 保存
- A/B:
RUN_FACTOR={3,4},TC_SPILL={12,16,24},RING_TRIGGER={1,2}