Skip to content

Latest commit

Β 

History

History
72 lines (50 loc) Β· 2.91 KB

File metadata and controls

72 lines (50 loc) Β· 2.91 KB

zkEVM Benchmark Runs

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 Configurations

Hardware Setup Proving Results Execution Results
1xL40s β€” 3 gas limits, 1 mainnet range
8x5090 7 gas limits, 1 mainnet range β€”

Folder Structure

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)

Configuration Types

  • 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)

Understanding the Results

Result Types

  • 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)

Individual Configuration READMEs

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.

Benchmark Workload

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.

Status Categories

  • πŸ’₯ 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)

Metrics

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