34 lines
1.5 KiB
Markdown
34 lines
1.5 KiB
Markdown
|
|
Phase 6.17 Plan (2025‑10‑23)
|
|||
|
|
|
|||
|
|
Goal
|
|||
|
|
- Mid を中心に「速度 × メモリ効率」を両立し、mimalloc へ追い付く。
|
|||
|
|
|
|||
|
|
Scope
|
|||
|
|
- SACS‑3 準拠: Tiny ≤1KiB, Mid 1–32KiB, Large/Big ≥64KiB。
|
|||
|
|
- 最適化は Mid 層内の整地(CAP/束数/TC/リング/閾値)に限定。
|
|||
|
|
|
|||
|
|
Steps (in order)
|
|||
|
|
1) Mid ヘッダレス化(安全ルート)
|
|||
|
|
- 追加API: `hak_pool_mid_lookup(ptr)` / `hak_pool_free_fast(ptr, site)`
|
|||
|
|
- hak_free_at でヘッダ読取前に Mid 判定→ pool free 直行(HDR_LIGHT=2 でも安全)
|
|||
|
|
- Bench: 10s BURST/LOOP, 1/4T。Accept: Mid 4T +10% 以上。
|
|||
|
|
2) Transfer Cache(TC)A/B(短期)
|
|||
|
|
- `HAKMEM_TC_DRAIN_MAX={32,64,128}`, `POOL_TLS_RING_CAP={8,16}`, `HAKMEM_TRYLOCK_PROBES={2,3}`
|
|||
|
|
- Bench: 10s BURST/LOOP, 4T。Accept: +15% 以上。
|
|||
|
|
3) Mid TLS Active Page “2枚化”
|
|||
|
|
- adopt 改善(共有補充ページの初回タッチで所有者付与)
|
|||
|
|
- Bench: 10s BURST/LOOP, 1/4T。Accept: +5–10% 以上、RSS 退行なし。
|
|||
|
|
4) メモリ効率(P2)
|
|||
|
|
- 空ページ返還(即返還/遅延返還の切替)、スキャベンジ
|
|||
|
|
- RSS 監視、p99 安定性の確認。
|
|||
|
|
|
|||
|
|
Bench protocol
|
|||
|
|
- Head‑to‑head(system / mimalloc / hakmem): scripts/run_bench_suite.sh(10s, 1/4T)
|
|||
|
|
- A/B: scripts/ab_fast_mid.sh(Mid fast‑return 系)
|
|||
|
|
- 保存: docs/benchmarks/<日時> に summary/log を保存。
|
|||
|
|
|
|||
|
|
Owner / Status
|
|||
|
|
- Owner: hakmem 開発
|
|||
|
|
- Status: P0.1 TC(最小)実装済 / P0.0 ヘッダレスの安全ルートを次着手
|
|||
|
|
|