Jacek Sieka 3547bcc409
chore: assorted bumps
* fix branch names in gitmodules that were pointing to non-existant
branches (allows running `git submodule update --remote` to find
out-of-date submodules)
* make sure commits from canonical branches are used for submodules
* "small" library bumps that deal with small correctness issues, memory
leaks, threading fixes and other general performance/bugfixing
* metrics: make it work better with multithreading, which makes
debugging easier
* stew: more compile-time support and an assortment of other fixes
* taskpools: block invalid use of GC types at compile time
* nimcrypto: accelerated sha2
* upraises: remove submodule
2025-12-11 18:23:00 +01:00
..
2024-05-23 09:28:17 -07:00
2024-05-23 09:28:17 -07:00
2025-12-11 18:23:00 +01:00

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