Skip to content

Benchmark Results

This page is a table of contents for measured numbers. Pivot tables and latency charts live on each language’s Results page.

Those snapshots are generated on a developer machine and committed into docs/. Continuous integration deploys the site; it does not re-run analysis. Numbers depend on the machine and the CSV used—re-running elsewhere may differ.

Analysis documentation hub: Method overview.


Results by language

Alphabetical, same link pattern as the Languages menu and storefront: language name → overview, Results → measured snapshot.

Language
C · Results
C# · Results
C++ · Results
Go · Results
Java · Results
JavaScript · Results
Python · Results
Rust · Results
Swift · Results

Related (not numbers): Modes · Serialization categories · Analysis methodology · Benchmark architecture


Regenerating language snapshots

This hub file is not rewritten by analyze-benchmarks.

You need local CSVs at logs/<lang>/YYYY-MM-DD-HHMMSS.csv (gitignored; produced by a benchmark runner or by ./scripts/run-all-benchmarks.sh --mode full).

cd analysis && pip install -e .   # once

# All languages (tables + latency charts; this hub stays static)
analyze-benchmarks

# One language only
analyze-benchmarks -l python   # or rust, csharp, c, javascript, go, java, cpp, swift

# Custom log location
analyze-benchmarks -l python --logs python/logs/python
# or: analyze-benchmarks --logs python=python/logs/python
Output Role
docs/<lang>/results.md Per-language tables and plot embeds
docs/analysis/plots/violin/<lang>_*.png Shared latency-distribution images

By default the CLI writes both tables and plots. Commit updated results.md and plot paths as needed.

The publish-docs workflow only runs mkdocs gh-deploy from the committed docs/ tree—it does not re-run analysis or benchmarks.

How stats are computed: Analysis methodology.

Other analysis CLI outputs

Output Where
Language Results + latency charts docs/<lang>/results.md, docs/analysis/plots/violin/
Version A/B report reports/VERSION_COMPARE.md (--compare-a / --compare-b)
Regression baseline reports/baseline.json by default (--save-baseline / --check-regression)

See Analysis methodology for how numbers are computed.