nim-dagger/benchmarks
Jaremy Creechley cee3340bd5
adding verification
2024-05-28 23:35:56 +01:00
..
.gitignore Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
README.md Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
circomcompat_cli.nim adding verification 2024-05-28 23:35:56 +01:00
clitypes.nim adding proof input outputs 2024-05-28 19:52:10 +01:00
codex_ark_prover_cli.nim updates 2024-05-24 15:49:56 +03:00
config.nims Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
create_circuits.nim proving 2024-05-28 15:24:09 +01:00
run_benchmarks.nim Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
utils.nim Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00

README.md

Benchmark Runner

Modify runAllBenchmarks proc in run_benchmarks.nim to the desired parameters and variations.

Then run it:

nim c -r run_benchmarks

By default all circuit files for each combinations of circuit args will be generated in a unique folder named like: nim-codex/benchmarks/circuit_bench_depth32_maxslots256_cellsize2048_blocksize65536_nsamples9_entropy1234567_seed12345_nslots11_ncells512_index3

Generating the circuit files often takes longer than running benchmarks, so caching the results allows re-running the benchmark as needed.

You can modify the CircuitArgs and CircuitEnv objects in runAllBenchMarks to suite your needs. See create_circuits.nim for their definition.

The runner executes all commands relative to the nim-codex repo. This simplifies finding the correct circuit includes paths, etc. CircuitEnv sets all of this.

Codex Ark Circom CLI

Runs Codex's prover setup with Ark / Circom.

Compile:

nim c codex_ark_prover_cli.nim

Run to see usage:

./codex_ark_prover_cli.nim -h