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>
1.1 KiB
1.1 KiB
Phase 6.20 Plan (2025-10-23)
目的: Large(64KB–1MB) を「よりシンプルで速いホットパス」に寄せ、free/ミス時の残コストを更に削減。
方針(シンプル/綺麗/効く)
- TC を配列リング化(per‑thread, LIFO)
- free は TLS メタデータ(配列)への書込みのみ。ブロックへの
next書込みは “spill時” に限定
- free は TLS メタデータ(配列)への書込みのみ。ブロックへの
- run 採用時の owner 更新
- page‑desc.owner_tid を run 採用/バッチpop採用時に現在スレへ更新 → same‑thread free 命中率UP
- remote‑first の起動条件の明確化
ring->top < triggerかつremote_count>0の時だけ trylock/batch‑pop。__builtin_prefetchを remote_head に
- 中央は run 在庫専用(継続)
- ブロック単位は扱わず、採用後は TLS 直詰め
ENV 追加
HAKMEM_L25_TC_CAP— TC リング容量(既定 64)HAKMEM_L25_RING_TRIGGER— remote‑first 起動のリング残トリガ(既定 2)
計測
- 10s/4T, timing OFF で
RUN_FACTOR={3,4,5} × TC_SPILL={8,16,24,32} × TC_CAP={32,64,128} - 最良構成で head‑to‑head 保存