BrainBench
By
Your benchmark for on-chain inference
Features
Property | EZKL | risc0 | Orion | Daniel Kang's zkML | TensorPlonk |
---|---|---|---|---|---|
Source Language | Rust | Rust | Cairo | Rust | Unknown |
Version | 8.1.7 | v0.19.1 | v0.2.2 | main@4378958 | Unknown |
API Support | |||||
Python | ✅ | ❌ | ❌ | ❌ | Unknown |
Javascript | ✅ | ❌ | ❌ | ❌ | Unknown |
Rust | ✅ | ✅ | ✅ | ❌ | Unknown |
Others | WASM | 🟡 | ❌ | ❌ | Unknown |
ZK Proving System | SNARK | STARK | STARK | SNARK | Unknown |
Unbounded Models | ❌ | ✅ | ❌ | ❌ | Unknown |
Randomness Operations | ❌ | ✅ | ❌ | ❌ | Unknown |
Audit | ❌ | ❌ | ❌ | ❌ | Unknown |
Native Model Format | ONNX | Rust, C++ | ONNX | msgpack | Unknown |
Supported Operators | 89% | 100% | 51% | 20% | No data |
GPU Acceleration | |||||
CUDA | ✅ | ✅ | ❌ | ❌ | Unknown |
Metal | ❌ | ✅ | ❌ | ❌ | Unknown |
More benchmarks to be added. Submit a PR to add yours! |
Updated about 1 month ago
Notice something incorrect? Let us know
Charts
Benchmarks
Benchmark | EZKL | risc0 | Orion | Daniel Kang's zkML | TensorPlonk |
---|---|---|---|---|---|
Linear regressions | |||||
Proof Size | 4.88 kB | 58.18 kB | No data | No data | No data |
Proof Memory Usage | 9.93 MB | 1.25 GB | 55.21 MB | No data | No data |
Proof Time | 251.00ms | 43 seconds | 707.50ms | No data | No data |
Random forests | |||||
Proof Size | 9.13 kB | 67.26 kB | No data | No data | No data |
Proof Memory Usage | 440.43 MB | 9.75 GB | No data | No data | No data |
Proof Time | 4 seconds | No Data | No data | No data | No data |
Svm classifications | |||||
Proof Size | 7.00 kB | 64.02 kB | No data | No data | No data |
Proof Memory Usage | 14.89 MB | 4.86 GB | 55.16 MB | No data | No data |
Proof Time | 120.60ms | 2 minutes 54 seconds | 758.50ms | No data | No data |
Te regressions | |||||
Proof Size | 7.00 kB | 58.18 kB | No data | No data | No data |
Proof Memory Usage | 14.91 MB | 1.25 GB | 64.46 MB | No data | No data |
Proof Time | 113.00ms | 43 seconds | 994.00ms | No data | No data |
More benchmarks to be added. Submit a PR to add yours! |
Updated about 1 month ago
Notice something incorrect? Let us know
Charts
Linear regressions
Memory Usage in MB
- Memory Usage in MB
Proof Size in Bytes
- Proof Size in Bytes
Proving Time in Seconds
- Proving Time in Seconds
Random forests
Memory Usage in MB
- Memory Usage in MB
Proof Size in Bytes
- Proof Size in Bytes
Proving Time in Seconds
- Proving Time in Seconds
Svm classifications
Memory Usage in MB
- Memory Usage in MB
Proof Size in Bytes
- Proof Size in Bytes
Proving Time in Seconds
- Proving Time in Seconds
Te regressions
Memory Usage in MB
- Memory Usage in MB
Proof Size in Bytes
- Proof Size in Bytes
Proving Time in Seconds
- Proving Time in Seconds
About this site
Purpose
This site is a benchmarking and comparison tool demonstrating features and performance of several zk-ml proving systems available for use today. The goal is to provide a comprehensive comparison of the various systems available, and to help developers choose the best system for their use case.
Comparability
Though the industry is still in its infancy, these frameworks all have the same goal - to prove AI inferences on-chain. There are many considerations to look at when choosing between frameworks, and this tool aims to provide the relevant information developers need to choose the right framework for their use case. Currently, the benchmark comparisons aren't fully apples to apples due to cairo and risc0 running on VMs, while EZKL and ZKML are running on native hardware.
Benchmarking methodology
This tool is based on EZKL's zkml-benchmarking suite. We have added a few additional metrics into the benchmarks for the purposes of providing more comparable data to viewers of this site.
Future plans
We plan to include more comparable fields in the future and add more frameworks as they're released.