Issue #540: A benchmark table in the README, regenerated by a script, with build time beside run time

Open and answer this issue on GitHub.

performance, decision · opened 2026-10-07 · updated 2026-10-09 · 0 comments

Where it stands. The README and the manifesto argue the speed claim in prose. The measurements exist and are thorough (benches/brc naive against tuned Rust, benches/overlap, benches/lockfloor, benches/fallible, the callgrind harness in crates/nikaia/tests/measure.rs, the CLBG programs examples/n-body and examples/k-nucleotide, examples/1brc.nika). They are written for the compiler’s own decisions, though, and a reader deciding whether to try the language never sees a number.

Proposal. One small table near the top of the README, in the roadmap’s style (counted, not believed):

program Python Go Nikaia Rust (hand-written) Nikaia build, cold / warm
n-body … … … … …
k-nucleotide … … … … …
1BRC (fixed row count) … … … … …
one HTTP handler, requests/s … … … … …

To decide. Which comparison languages (Python and Go are the README’s own “easy languages” and the stated target audience; Rust is the floor), whether the HTTP row waits for #121 (many connections at once), and whether CI checks the table against the script’s output or only the script runs.

Back to Open Issues