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