Like for like: fib(10,000), same algorithm everywhere
Every system proves fib(10,000) mod 7919 by fast doubling, fourteen rounds instead of ten thousand steps. The comparator guests use a hand-written doubling routine; zkFOL is handed the naive two-call recurrence and the compiler rewrites it to the doubling form. A second zkFOL row proves the exact 2,090-digit integer with no modular reduction: the harder claim, included because the reduction is not what buys the result.
Workload: fib(10,000) mod 7919, fast doubling
Prove
Verify
Prover memory
zkFOL, compiler-derived doubling
11.48 ms
2.30 ms
under 10 MB
zkFOL, exact 2,090-digit integer, no reduction
9.98 ms
3.88 ms
under 10 MB
RISC Zero, composite
3.69 s
11.8 ms
312 MB
RISC Zero, succinct
14.73 s
12.4 ms
1.39 GB
SP1, core
13.32 s
74.3 ms
9.39 GB
SP1, compressed
49.24 s
32.9 ms
17.00 GB
Prove-time ratios against the reduced zkFOL row: 321x, 1,280x, 1,160x and 4,290x for the four comparator rows in table order; against the unreduced row, which computes the whole integer while the guests compute a four-digit remainder, 370x to 4,930x. Memory ratios run from roughly 30x to roughly 1,700x. [S, benchmark record]
Last updated