Target: Consolidate free() wrapper overhead (29.56% combined) - free() wrapper: 21.67% self% - free_tiny_fast_cold(): 7.89% self% Strategy: Single header check in wrapper → direct call to free_tiny_fast() - Eliminates redundant header validation (validated twice before) - Bypasses cold path routing for Tiny allocations - High coverage: 48% of frees in Mixed workload are Tiny Implementation: - ENV gate: HAKMEM_FREE_TINY_DIRECT=0/1 (default 0) - core/box/free_tiny_direct_env_box.h: ENV gate - core/box/free_tiny_direct_stats_box.h: Stats counters - core/box/hak_wrappers.inc.h: Wrapper integration (lines 593-625) Safety gates: - Page boundary guard ((ptr & 0xFFF) != 0) - Tiny magic validation ((header & 0xF0) == 0xA0) - Class bounds check (class_idx < 8) - Fail-fast fallback to existing paths A/B Test Results (Mixed, 10-run, 20M iters): - Baseline (DIRECT=0): 44.38M ops/s (mean), 44.45M ops/s (median) - Optimized (DIRECT=1): 45.87M ops/s (mean), 45.95M ops/s (median) - Improvement: +3.35% mean, +3.36% median Decision: GO (+3.35% >= +1.0% threshold) - 3rd consecutive success with consolidation/deduplication pattern - E4-1: +3.51%, E4-2: +21.83%, E5-1: +3.35% - Health check: PASS (all profiles) Phase 5 Cumulative: - E4 Combined: +6.43% - E5-1: +3.35% - Estimated total: ~+10% Deliverables: - docs/analysis/PHASE5_E5_COMPREHENSIVE_ANALYSIS.md - docs/analysis/PHASE5_E5_1_FREE_TINY_DIRECT_1_DESIGN.md - docs/analysis/PHASE5_E5_1_FREE_TINY_DIRECT_1_AB_TEST_RESULTS.md - CURRENT_TASK.md (E5-1 complete) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Docs Overview
このフォルダは hakmem の設計・計測・運用メモを体系化して管理する場所です。
- INDEX.md: 目次(各ドキュメントへのリンク)
- benchmarks/: ベンチマーク手順とスイープ結果の保存先
- specs/: 現在の仕様(SACS‑3/HW/ENV)を集約
- roadmap/: これからの実装計画・優先度・タスク
運用ルール(提案)
- 1つの変更/計測のまとまりにつき1ファイル(or 1フォルダ)
- 再現コマンド・環境変数・ハード構成は必ず記載
- 大きな連続出力はファイルへ保存し、本文からは抜粋/要約を記載