Datasheet
The data on this page can be used to estimate the total time and work required for proving zkVM applications. We recommend reading about our recursive proving architecture as a companion for this page.
Metal on Apple M2 Pro
execute | N/A | 41.78 MHz | 1014.10 K | 24.85ms | N/A | N/A |
rv32im | sha-256 | 13.95 KHz | 16.00 K | 1.17s | 141.97 MB | 193.91 KB |
rv32im | sha-256 | 13.99 KHz | 32.00 K | 2.34s | 283.94 MB | 204.29 KB |
rv32im | sha-256 | 14.18 KHz | 64.00 K | 4.62s | 567.88 MB | 215.66 KB |
rv32im | sha-256 | 13.99 KHz | 128.00 K | 9.37s | 1.11 GB | 238.16 KB |
rv32im | sha-256 | 13.93 KHz | 256.00 K | 18.82s | 2.22 GB | 249.60 KB |
rv32im | sha-256 | 13.77 KHz | 512.00 K | 38.07s | 4.44 GB | 261.54 KB |
rv32im | sha-256 | 13.36 KHz | 1.00 M | 1m 18s | 8.87 GB | 274.48 KB |
rv32im | poseidon2 | 13.98 KHz | 16.00 K | 1.17s | 141.97 MB | 193.91 KB |
rv32im | poseidon2 | 14.15 KHz | 32.00 K | 2.32s | 283.94 MB | 204.29 KB |
rv32im | poseidon2 | 14.14 KHz | 64.00 K | 4.64s | 567.88 MB | 215.66 KB |
rv32im | poseidon2 | 14.04 KHz | 128.00 K | 9.34s | 1.11 GB | 238.16 KB |
rv32im | poseidon2 | 13.91 KHz | 256.00 K | 18.85s | 2.22 GB | 249.60 KB |
rv32im | poseidon2 | 13.78 KHz | 512.00 K | 38.04s | 4.44 GB | 261.54 KB |
rv32im | poseidon2 | 13.40 KHz | 1.00 M | 1m 18s | 8.87 GB | 274.48 KB |
lift | poseidon2 | 140.99 KHz | 256.00 K | 1.86s | 1.04 GB | 217.45 KB |
join | poseidon2 | 121.92 KHz | 256.00 K | 2.15s | 1.04 GB | 217.45 KB |
succinct | poseidon2 | 12.65 KHz | 256.00 K | 20.72s | 2.22 GB | 217.45 KB |
identity_p254 | poseidon2 | 8.06 KHz | 256.00 K | 32.54s | 1.32 GB | 217.45 KB |
bigint2_execute | N/A | 17.08 MHz | 2.03 M | 124.36ms | N/A | N/A |
bigint2_prove_segment | poseidon2 | 30.41 KHz | 2.25 M | 1m 18s | 8.87 GB | N/A |
CUDA on NVIDIA RTX 3090 Ti
execute | N/A | 28.00 MHz | 1014.10 K | 37.09ms | N/A | N/A |
rv32im | sha-256 | 149.04 KHz | 16.00 K | 109.93ms | 141.97 MB | 193.91 KB |
rv32im | sha-256 | 247.53 KHz | 32.00 K | 132.38ms | 283.94 MB | 204.29 KB |
rv32im | sha-256 | 382.65 KHz | 64.00 K | 171.27ms | 567.88 MB | 215.66 KB |
rv32im | sha-256 | 548.94 KHz | 128.00 K | 238.78ms | 1.11 GB | 238.16 KB |
rv32im | sha-256 | 683.64 KHz | 256.00 K | 383.46ms | 2.22 GB | 249.60 KB |
rv32im | sha-256 | 769.19 KHz | 512.00 K | 681.61ms | 4.44 GB | 261.54 KB |
rv32im | sha-256 | 842.26 KHz | 1.00 M | 1.24s | 8.87 GB | 274.48 KB |
rv32im | poseidon2 | 115.50 KHz | 16.00 K | 141.85ms | 141.97 MB | 193.91 KB |
rv32im | poseidon2 | 238.68 KHz | 32.00 K | 137.29ms | 283.94 MB | 204.29 KB |
rv32im | poseidon2 | 388.49 KHz | 64.00 K | 168.70ms | 567.88 MB | 215.66 KB |
rv32im | poseidon2 | 552.83 KHz | 128.00 K | 237.09ms | 1.11 GB | 238.16 KB |
rv32im | poseidon2 | 684.10 KHz | 256.00 K | 383.19ms | 2.22 GB | 249.60 KB |
rv32im | poseidon2 | 770.36 KHz | 512.00 K | 680.58ms | 4.44 GB | 261.54 KB |
rv32im | poseidon2 | 840.07 KHz | 1.00 M | 1.25s | 8.87 GB | 274.48 KB |
lift | poseidon2 | 521.81 KHz | 256.00 K | 502.38ms | 1.32 GB | 217.45 KB |
join | poseidon2 | 307.75 KHz | 256.00 K | 851.81ms | 1.32 GB | 217.45 KB |
succinct | poseidon2 | 281.16 KHz | 256.00 K | 932.38ms | 2.22 GB | 217.45 KB |
identity_p254 | poseidon2 | 352.29 KHz | 256.00 K | 744.11ms | 1.32 GB | 217.45 KB |
stark2snark | poseidon2 | 35.40 KHz | 256.00 K | 7.40s | N/A | 360.00 B |
groth16 | poseidon2 | 28.11 KHz | 256.00 K | 9.32s | 2.22 GB | 256.00 B |
bigint2_execute | N/A | 11.04 MHz | 2.03 M | 192.39ms | N/A | N/A |
bigint2_prove_segment | poseidon2 | 1.28 MHz | 2.25 M | 1.85s | 8.87 GB | N/A |
CUDA on g6.xlarge
execute | N/A | 31.72 MHz | 1014.10 K | 32.74ms | N/A | N/A |
rv32im | sha-256 | 135.78 KHz | 16.00 K | 120.67ms | 141.97 MB | 193.91 KB |
rv32im | sha-256 | 214.85 KHz | 32.00 K | 152.51ms | 283.94 MB | 204.29 KB |
rv32im | sha-256 | 311.04 KHz | 64.00 K | 210.70ms | 567.88 MB | 215.66 KB |
rv32im | sha-256 | 408.71 KHz | 128.00 K | 320.70ms | 1.11 GB | 238.16 KB |
rv32im | sha-256 | 473.55 KHz | 256.00 K | 553.57ms | 2.22 GB | 249.60 KB |
rv32im | sha-256 | 510.81 KHz | 512.00 K | 1.03s | 4.44 GB | 261.54 KB |
rv32im | sha-256 | 539.50 KHz | 1.00 M | 1.94s | 8.87 GB | 274.48 KB |
rv32im | poseidon2 | 111.34 KHz | 16.00 K | 147.16ms | 141.97 MB | 193.91 KB |
rv32im | poseidon2 | 207.22 KHz | 32.00 K | 158.13ms | 283.94 MB | 204.29 KB |
rv32im | poseidon2 | 310.23 KHz | 64.00 K | 211.25ms | 567.88 MB | 215.66 KB |
rv32im | poseidon2 | 408.03 KHz | 128.00 K | 321.23ms | 1.11 GB | 238.16 KB |
rv32im | poseidon2 | 473.21 KHz | 256.00 K | 553.97ms | 2.22 GB | 249.60 KB |
rv32im | poseidon2 | 511.44 KHz | 512.00 K | 1.03s | 4.44 GB | 261.54 KB |
rv32im | poseidon2 | 539.03 KHz | 1.00 M | 1.95s | 8.87 GB | 274.48 KB |
lift | poseidon2 | 454.70 KHz | 256.00 K | 576.53ms | 1.32 GB | 217.45 KB |
join | poseidon2 | 261.54 KHz | 256.00 K | 1.00s | 1.32 GB | 217.45 KB |
succinct | poseidon2 | 220.02 KHz | 256.00 K | 1.19s | 2.22 GB | 217.45 KB |
identity_p254 | poseidon2 | 271.08 KHz | 256.00 K | 967.02ms | 1.32 GB | 217.45 KB |
stark2snark | poseidon2 | 2.97 KHz | 256.00 K | 1m 28s | N/A | 360.00 B |
groth16 | poseidon2 | 5.91 KHz | 256.00 K | 44.32s | 2.22 GB | 256.00 B |
bigint2_execute | N/A | 11.77 MHz | 2.03 M | 180.48ms | N/A | N/A |
bigint2_prove_segment | poseidon2 | 889.29 KHz | 2.25 M | 2.65s | 8.87 GB | N/A |
CPU only on c6i.8xlarge
execute | N/A | 39.14 MHz | 1014.10 K | 26.53ms | N/A | N/A |
rv32im | sha-256 | 16.95 KHz | 16.00 K | 966.64ms | 141.97 MB | 193.91 KB |
rv32im | sha-256 | 17.58 KHz | 32.00 K | 1.86s | 283.94 MB | 204.29 KB |
rv32im | sha-256 | 17.36 KHz | 64.00 K | 3.77s | 567.88 MB | 215.66 KB |
rv32im | sha-256 | 17.40 KHz | 128.00 K | 7.53s | 1.11 GB | 238.16 KB |
rv32im | sha-256 | 17.22 KHz | 256.00 K | 15.22s | 2.22 GB | 249.60 KB |
rv32im | sha-256 | 16.47 KHz | 512.00 K | 31.84s | 4.44 GB | 261.54 KB |
rv32im | sha-256 | 15.89 KHz | 1.00 M | 1m 6s | 8.87 GB | 274.48 KB |
rv32im | poseidon2 | 17.36 KHz | 16.00 K | 943.96ms | 141.97 MB | 193.91 KB |
rv32im | poseidon2 | 17.46 KHz | 32.00 K | 1.88s | 283.94 MB | 204.29 KB |
rv32im | poseidon2 | 17.41 KHz | 64.00 K | 3.76s | 567.88 MB | 215.66 KB |
rv32im | poseidon2 | 17.36 KHz | 128.00 K | 7.55s | 1.11 GB | 238.16 KB |
rv32im | poseidon2 | 17.23 KHz | 256.00 K | 15.22s | 2.22 GB | 249.60 KB |
rv32im | poseidon2 | 16.48 KHz | 512.00 K | 31.81s | 4.44 GB | 261.54 KB |
rv32im | poseidon2 | 15.84 KHz | 1.00 M | 1m 6s | 8.87 GB | 274.48 KB |
lift | poseidon2 | 42.95 KHz | 256.00 K | 6.10s | 1.32 GB | 217.45 KB |
join | poseidon2 | 40.65 KHz | 256.00 K | 6.45s | 1.32 GB | 217.45 KB |
succinct | poseidon2 | 12.20 KHz | 256.00 K | 21.49s | 2.22 GB | 217.45 KB |
identity_p254 | poseidon2 | 10.69 KHz | 256.00 K | 24.52s | 1.32 GB | 217.45 KB |
bigint2_execute | N/A | 11.30 MHz | 2.03 M | 187.92ms | N/A | N/A |
bigint2_prove_segment | poseidon2 | 35.49 KHz | 2.25 M | 1m 6s | 8.87 GB | N/A |
Datasheet