From f7ed2acba5e57b61df48bee0afbdc63531ebed37 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Wed, 24 Apr 2024 13:00:05 +0300 Subject: [PATCH] benchmarks --- benchmarks/ark_prover_bench.nim | 12 ------------ benchmarks/config.nims | 8 ++++---- benchmarks/create_circuits.nim | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 benchmarks/create_circuits.nim diff --git a/benchmarks/ark_prover_bench.nim b/benchmarks/ark_prover_bench.nim index 2d3423ff..ac69f84e 100644 --- a/benchmarks/ark_prover_bench.nim +++ b/benchmarks/ark_prover_bench.nim @@ -23,18 +23,6 @@ import pkg/constantine/math/io/io_fields import codex/slots/backends/helpers -proc createCircuits() = - let cmds = """ - ${NIMCLI_DIR}/cli $CLI_ARGS -v --circom=${CIRCUIT_MAIN}.circom --output=input.json - circom --r1cs --wasm --O2 -l${CIRCUIT_DIR} ${CIRCUIT_MAIN}.circom - NODE_OPTIONS="--max-old-space-size=8192" snarkjs groth16 setup ${CIRCUIT_MAIN}.r1cs $PTAU_PATH ${CIRCUIT_MAIN}_0000.zkey - echo "some_entropy_75289v3b7rcawcsyiur" | NODE_OPTIONS="--max-old-space-size=8192" snarkjs zkey contribute ${CIRCUIT_MAIN}_0000.zkey ${CIRCUIT_MAIN}_0001.zkey --name="1st Contributor Name" - """.splitLines() - - # rm ${CIRCUIT_MAIN}_0000.zkey - # mv ${CIRCUIT_MAIN}_0001.zkey ${CIRCUIT_MAIN}.zkey - - proc setup() = let inputData = readFile("tests/circuits/fixtures/input.json") diff --git a/benchmarks/config.nims b/benchmarks/config.nims index e9133748..040aadba 100644 --- a/benchmarks/config.nims +++ b/benchmarks/config.nims @@ -3,7 +3,7 @@ --threads:on --tlsEmulation:off -when not defined(chronicles_log_level): - --define:"chronicles_log_level:NONE" # compile all log statements - --define:"chronicles_sinks:textlines[dynamic]" # allow logs to be filtered at runtime - --"import":"logging" # ensure that logging is ignored at runtime +# when not defined(chronicles_log_level): +# --define:"chronicles_log_level:NONE" # compile all log statements +# --define:"chronicles_sinks:textlines[dynamic]" # allow logs to be filtered at runtime +# --"import":"logging" # ensure that logging is ignored at runtime diff --git a/benchmarks/create_circuits.nim b/benchmarks/create_circuits.nim new file mode 100644 index 00000000..70bec727 --- /dev/null +++ b/benchmarks/create_circuits.nim @@ -0,0 +1,32 @@ +import std/strutils +import std/os + +proc createCircuits() = + let cmds = """ + ${NIMCLI_DIR}/cli $CLI_ARGS -v --circom=${CIRCUIT_MAIN}.circom --output=input.json + circom --r1cs --wasm --O2 -l${CIRCUIT_DIR} ${CIRCUIT_MAIN}.circom + NODE_OPTIONS="--max-old-space-size=8192" snarkjs groth16 setup ${CIRCUIT_MAIN}.r1cs $PTAU_PATH ${CIRCUIT_MAIN}_0000.zkey + echo "some_entropy_75289v3b7rcawcsyiur" | NODE_OPTIONS="--max-old-space-size=8192" snarkjs zkey contribute ${CIRCUIT_MAIN}_0000.zkey ${CIRCUIT_MAIN}_0001.zkey --name="1st Contributor Name" + """.splitLines() + + # rm ${CIRCUIT_MAIN}_0000.zkey + # mv ${CIRCUIT_MAIN}_0001.zkey ${CIRCUIT_MAIN}.zkey + +let nimCircuitRef = "vendor/codex-storage-proofs-circuits/reference/nim/proof_input/cli" + +proc setProjDir(prev = getCurrentDir()) = + if not "codex.nimble".fileExists(): + setCurrentDir("..") + if prev == getCurrentDir(): + echo "\nERROR: Codex project folder not found (could not find codex.nimble)" + echo "\nBenchmark must be run from within the Codex project folder" + quit 1 + setProjDir() + +setProjDir() + +if not nimCircuitRef.fileExists: + echo "Nim Circuit ref exe not found" + + +echo "huzzah"