Skip to content

v0.3.0: Batch Leaf Merge

Choose a tag to compare

@aalhour aalhour released this 12 Apr 20:19
6c384c5

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 reuse
  • docs/PERFORMANCE.md — Full benchmarks, cross-implementation comparison, reproduction instructions
  • CONTRIBUTING.md — Development workflow, testing practices, benchmark procedures
  • docs/ROADMAP.md — Completed work, profiling data, remaining optimizations

Design Details

See ADR-001 for the full decision record including alternatives benchmarked and rejected.