Use case · Performance
High-throughput parallel execution
When you need to execute many transactions — replaying history, simulating a mempool, stress-testing a contract — sequential execution wastes cores. Zig EVM runs independent transactions at the same time.
How the waves work
Zig EVM analyses each batch for dependencies — which transactions read or write the same addresses, modify balances, or touch the same nonces. Transactions with no conflicts are grouped into a wave and executed concurrently on a work-stealing thread pool. The optimized analyser is O(n) hash-based, making it 10-100x faster than a naive O(n²) scan on large batches, and speculative execution with rollback keeps things correct when a prediction misses.
Measured results
| Operation | Ops/sec | Avg latency |
|---|---|---|
| Simple transfer (sequential) | 45,000 | 22µs |
| Token transfer (sequential) | 38,000 | 26µs |
| Complex contract (sequential) | 12,000 | 83µs |
| Parallel (8 threads) | 250,000 | 4µs |
Full methodology: Benchmarking EVM implementations and Parallel EVM execution.
FAQ
What throughput gain does parallel execution give?
A measured 5-6x improvement for independent transactions, scaling linearly up to 8 threads. On the parallel 8-thread path, simple operations reach roughly 250,000 ops/sec (about 4µs average).
Does parallel execution change results?
No. Only transactions that do not conflict on accounts, balances or nonces run in the same wave, so the observable outcome is equivalent to sequential execution. Speculative execution with rollback handles mispredictions.