v0.3.0: Batch Leaf Merge
Performance Improvements
Three-path batch merge in applyToLeaf replaces per-message leafInsert/leafDelete loop:
| Path | When | Improvement |
|---|---|---|
| Append fast-path | Sequential inserts | -20 to -26% |
| Binary-search + chunk-copy | Interleaved puts | -23 to -33% |
| In-place compaction | Batches with deletes | -53% |
Geomean -13.9% across all benchmarks vs v0.2.1. Zero allocation regressions.
See docs/PERFORMANCE.md for full numbers and Google BTree comparison.
Documentation
docs/ADR.md— Architecture decision records for batch merge, size tracking, flush bucket reusedocs/PERFORMANCE.md— Full benchmarks, cross-implementation comparison, reproduction instructionsCONTRIBUTING.md— Development workflow, testing practices, benchmark proceduresdocs/ROADMAP.md— Completed work, profiling data, remaining optimizations
Design Details
See ADR-001 for the full decision record including alternatives benchmarked and rejected.