This repository contains benchmark results for zkEVM proving and execution across different hardware configurations.
You can see a website rendering of the results here.
| Hardware Setup | Proving Results | Execution Results |
|---|---|---|
| 1xL40s | β | 3 gas limits, 1 mainnet range |
| 8x5090 | 7 gas limits, 1 mainnet range | β |
The benchmark results are organized in the following hierarchy:
data/
βββ proving/ # Proving benchmark results
β βββ [Hardware Setup]/ # e.g., 8x5090
β βββ [Fixture Set]/ # e.g., eest-365433e (EEST fixture provenance)
β β βββ [Gas Limit]/ # e.g., 10M-gas-limit
β β βββ [EL Client]/ # e.g., reth-v1.11.0
β β βββ [zkVM]/ # e.g., zisk-v0.15.0
β βββ mainnet-A-B/ # Mainnet block ranges (no fixture set)
β βββ [EL Client]/
β βββ [zkVM]/
β
βββ executions/ # Execution benchmark results
βββ (same structure as proving)
- eest-*: EEST fixture sets with provenance (commit or version tag)
- XXM-gas-limit: Gas limit configurations within a fixture set
- mainnet-A-B: Mainnet block range benchmarks (blocks A through B)
- Proving: Measures the time and resources required to generate zero-knowledge proofs for blocks
- Execution: Measures the time and cycles required to execute blocks within the zkVM (without proof generation)
Each configuration folder (gas limit or mainnet range) contains its own detailed README.md file with specific benchmark results, organized by EL client and zkVM.
EEST benchmark runs include a Benchmark Workload link that points to the specific version of the zkevm-benchmark-workload tool used to generate the test fixtures.
- π₯ Prover Crashes: Fixtures that crashed the prover/executor entirely (from _crashes.txt)
- β SDK Reported Crashes: Fixtures that failed during proving/execution (reported by SDK)
- β Successful Runs: Fixtures that completed successfully (sorted slowest to fastest)
Proving:
- Time: How long it took to generate the proof
- Throughput: Gas processed per second (gas/s)
- Proof Size: Size of the generated proof
Execution:
- Time: How long it took to execute the block in the zkVM
- Throughput: Gas processed per second (gas/s)
- Cycles: Total number of zkVM cycles used