— Performance —

MEASURED. REPRODUCIBLE.

Every number below was measured on this hardware, on this workload, before it was published -- not estimated. Full methodology and raw samples linked throughout.

~11 KB
Proof Size
~5.5ms
Verify Time
~1.2s
Prove (1,000 instr.)
~6.0s
Prove (2,000 instr.)
VERIFY TIME — 10 RAW SAMPLES (ms)
min 5.19ms · avg 5.51ms · fibonacci_like.zkasm, real CLI, 10 fresh processes
PROVE TIME VS. INSTRUCTION COUNT
InstructionsProve time
1,000~1.2s
2,000~6.0s
4,000~32.0s
Worse-than-linear scaling — the reason the HTTP service caps requests at 2,000 instructions.
METHODOLOGY✓ REPRODUCIBLE
Verify time: 10 back-to-back runs of the real zkvm CLI binary, each a fresh process, verifying a real proof of examples/fibonacci_like.zkasm — see the sub-10ms verify post for the exact command and every raw sample.
Prove time: benchmarked at 1,000/2,000/4,000 synthetic instructions specifically to size the HTTP service's instruction-count cap — see the hardening post for the incident that made this necessary (an earlier 10,000-instruction default never finished in reasonable time).
Not yet published: the exact CPU/RAM spec these numbers were measured on, and a full instruction-count-vs-time curve across the whole supported range. Tracked as open work in docs/ROADMAP.md, not silently assumed to generalize.
What this doesn't show: a benchmark against SP1, RISC Zero, or any other zkVM. This project investigated integrating SP1 as a second backend and documented exactly why it didn't (518 transitive dependencies, a Go FFI requirement, an ISA mismatch) — see that post — but has never run a head-to-head benchmark, and publishing comparison numbers without one would be exactly the kind of unverified claim this page exists to avoid.