next.js
22fffea9 - perf(turbo-persistence): shard meta files by family (#97703)

Commit
44 days ago
perf(turbo-persistence): shard meta files by family (#97703) ## Summary - Store live meta files in primary per-family shards so queries avoid unrelated-family metadata - Consolidate live metadata during compaction, retire subsumed meta files in the same commit, and retain merged used-key-hash AMQFs. - Add debug assertions for shard ownership/order and compaction precedence invariants. ## Performance Paired `LARGE_DB=1` Criterion binaries were run interleaved on the same machine to reduce host drift. | Scenario | Canary | PR | Result | | --- | ---: | ---: | --- | | Four-family cached `get` miss (100 metas/family) | 2.40–2.55 µs | 2.11–2.21 µs | **~10–12% faster** | | Existing single-family cached `get` miss | 1.93–2.12 µs | 2.00–2.04 µs | Neutral within run-to-run noise (~+0.5% on means) | | Existing full compaction (4 Mi entries, 8 commits) | ~624 ms | ~624 ms | Neutral in the stable paired run; repeated samples stayed within normal noise | Read hits should see a small improvement but it isn't measurable, misses are the major benefit. ## Verification - `cargo test -p turbo-persistence` - `cargo test -p turbo-persistence --features stats` - `cargo clippy -p turbo-persistence --all-targets --features stats -- -D warnings` - `LARGE_DB=1` interleaved Criterion A/B runs <!-- NEXT_JS_LLM --> --------- Co-authored-by: vercel-fleet-prod[bot] <318278635+vercel-fleet-prod[bot]@users.noreply.github.com> Co-authored-by: Luke Sandberg <210140+lukesandberg@users.noreply.github.com>
Author
Parents
Loading