Every canonical benchmark report lives in this directory once superseded by a newer version. Archived reports are never retroactively edited, re-measured, or pruned. They are frozen-in-time primary sources.
Benchmarks age. The numbers in any given report are true for one binary version, one test machine, one OS revision, one filesystem state. Six months later, some numbers have improved, some have regressed, some methodology tightened. All of that is interesting — but only if the old numbers are still here to compare against.
Three uses for this archive:
- Credibility over time. "Here's what we claimed in 2026-Q1, here's what we claimed in 2026-Q3, here's the regression we caught between them and here's when we fixed it." That story only works if both reports survive verbatim.
- Honest regression tracking. When a number gets worse between versions, the archived prior number is the forensic evidence that it was better once. The canonical report flags the regression; the archive holds the proof.
- Methodology evolution. The benchmark methodology itself improves — more rounds, better isolation, new size classes, new patterns. Archived reports document what the methodology looked like at the time, so apples-to-apples comparison across eras is traceable.
archive/YYYY-MM-vX.Y.Z-<scope>.md
Examples:
2026-04-v0.5.66-vs-everything-and-cpp.md— the April 2026 canonical report, head-to-head against Everything and UFFS C++.2026-Q3-v0.6.0-phase-5-regression-fixes.md(hypothetical) — the snapshot after Phase 5 closes the known regressions noted in the 2026-04 report.
Date-first so the filesystem sorts chronologically. Version next so the binary measured is unambiguous. Scope last so readers can skim the list and see what each report covers.
Exactly the same template as the current canonical report:
- Headline + test environment at the top (what, when, what machine, what binaries).
- TL;DR with 3-5 numbers — the claims the report is making.
- Methodology block — cold vs warm vs hot separation, interactive vs bulk, the fairness promise.
- Head-to-head comparison tables — one per competitor / reference point, with p50 + p95 + row counts.
- Scale ceiling — memory curves, bulk export, aggregations at the tested scale.
- Known regressions — published openly, with root cause and fix-in-progress notes.
- Test environment details + reproduce instructions — exact scripts and raw log paths.
- References back to product docs + competitor sources.
See ../2026-04-v0.5.66-vs-everything-and-cpp.md for the first example.
We do not retroactively construct archive entries for versions that weren't captured under the same methodology at their own release time. Attempting to reconstruct a v0.5.4 competitive benchmark from memory in 2026-04 would produce numbers that mix today's scientific standards with yesterday's informal measurements — the worst of both worlds.
The first canonical snapshot is v0.5.66 (2026-04). Earlier version numbers in docs (v0.5.4, v0.4.106) are referenced where relevant as historical context, but they do not get a standalone archive file.
- The new report is written against the latest binary, tested, and committed as
docs/benchmarks/YYYY-MM-vX.Y.Z-<scope>.md. - The previous canonical report is
git mv'd intoarchive/without edits (same filename). docs/benchmarks/README.mdupdates the Current canonical report section to point at the new report.docs/benchmarks/README.mdarchive section gets a new bullet naming the freshly archived prior report.- The main
README.mdproof-strip numbers are refreshed if they moved. Stale numbers in deep-dive docs get cross-checked.