Publish a measured performance report with a regeneration script#124
Merged
Conversation
docs/PERFORMANCE.md carries Criterion medians for every hot-path stage — wire deserialization, dispatcher normalize with the shadow-book cross-check, WAL codec encode and append, book operations, and the read-model snapshot — stamped with the CPU, RAM, OS, toolchain, commit, and date they were measured on, plus the full 49-benchmark result table. scripts/bench-report.py regenerates it from target/criterion output and `just bench-report` wraps the run. The README benchmarks section now leads with the measured numbers instead of bare commands. Numbers replace the order-of-magnitude estimates that docs previously carried without attribution; CI continues to compile (not time) the benches, since shared runners are too noisy for statistical gating.
weiminglong
force-pushed
the
feat/performance-report
branch
from
July 6, 2026 12:08
bdc8be6 to
71bace4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The repo claimed performance characteristics without a single attributed measurement. Now:
target/criterionestimates (batch benches get a per-item column via encoded batch sizes);just bench-reportruns the suite and rewrites the file.The report is explicit about methodology limits: single-machine wall-clock medians for order-of-magnitude reasoning; CI compiles benches but does not gate on timings.
Verification
cargo bench --workspacerun on current main (49 benchmarks collected)