research / measured results
colony.technology/research/benchmarks
research / measured results
speedrunpapi 0.7.2 / output determinism
circom 2.2.3 / --O0
apple m1 / node.js 26
1 run per row / milliseconds
circuitverdictconstraintsstepsprove msreplay ms
Sha256compression()certified202,784192,312228155
Sha256(64)certified204,576194,104252160
Poseidon(5)certified1,3471,3471.91.1
MiMCSponge(2, 220, 1)certified1,7671,7672.12.7
Poseidon Merkle root, depth 4certified3,1023,09822
LessThan(252)certified25630.80.6
Multiplexer(2, 4)certified36310.30.1
IsZero()certified240.20.1
Num2Bits(254)broken255
Decoder(4)broken6
MontgomeryAdd()broken3
Edwards2Montgomery()broken2
Pedersen(8), inputs unrestrictedbroken95 (--O1)
BabyAdd()unknown6
BabyPbk()unknown10,114
Num2Bits_strict()unknown1,285
columns
provethe prover finds the derivation
replaythe independent checker replays it
stepslength of the derivation
rows / json
the broken rows
each template taken alone / unrestricted inputs
circomlib callers rule the degenerate inputs out
the verdict names the precondition your circuit must enforce
corpus
71 cases / 61 decided
46 certified / 15 broken
10 unknown / 0 wrong verdicts
150,000 random small-field systems
0 wrong certified or broken
reproduce one row
node.js 20+ / circom 2.x / circomlib cff5ab6
speedrunpapi scan node_modules/circomlib/circuits/sha256/sha256compression.circom --main "Sha256compression()" -l node_modules/circomlib/circuits
202,784 constraints / 192,312 derivation steps
proofs cli demo release history colony
samples / compiled r1cs / analysed in this browser
circom source of the sample / paste your own for the local command