aboutsummaryrefslogtreecommitdiff
path: root/zkvms
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-07 11:51:13 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-07 11:51:13 +0200
commit7e9f940a570dad1249d8021d8b5c734ec609ba40 (patch)
tree3285addd38040498aa6dc12cd552aa428a28cd62 /zkvms
parentc626e4f0ac87399a6ca12f7678e34be90ce4b0f8 (diff)
downloadzkVMs-benchmarks-7e9f940a570dad1249d8021d8b5c734ec609ba40.tar
zkVMs-benchmarks-7e9f940a570dad1249d8021d8b5c734ec609ba40.tar.gz
zkVMs-benchmarks-7e9f940a570dad1249d8021d8b5c734ec609ba40.zip
feat(zkvms/nexus): Add benchmarking capability
Diffstat (limited to 'zkvms')
-rw-r--r--zkvms/nexus/host/src/main.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/zkvms/nexus/host/src/main.rs b/zkvms/nexus/host/src/main.rs
index b90c91f..c8d35e8 100644
--- a/zkvms/nexus/host/src/main.rs
+++ b/zkvms/nexus/host/src/main.rs
@@ -1,4 +1,4 @@
-use zkvms_host_io::{Input, Output, read_args, RunType::{ Execute, Prove, Verify }};
+use zkvms_host_io::{Input, Output, read_args, benchmarkable, RunType::{ Execute, Prove, Verify }};
use nexus_sdk::{
compile::CompileOpts,
nova::seq::{Generate, Nova, PP},
@@ -16,12 +16,12 @@ fn main() {
println!("Setting up Nova public parameters...");
let pp: PP = PP::generate().expect("failed to generate parameters");
- println!("Loading guest...");
- let prover: Nova<Local> = Nova::new_from_file(&elf_path).expect("failed to load guest program");
-
match run_info.run_type {
Execute => unreachable!(),
- Prove => {
+ Prove => benchmarkable!{
+ println!("Loading guest...");
+ let prover: Nova<Local> = Nova::new_from_file(&elf_path).expect("failed to load guest program");
+
println!("Proving execution of vm...");
let proof = prover
.prove_with_input::<Input>(&pp, &run_info.input)
@@ -36,7 +36,10 @@ fn main() {
println!(">>>>> Logging\n{}<<<<<", proof.logs().join(""));
},
- Verify => {
+ Verify => benchmarkable!{
+ println!("Loading guest...");
+ let prover: Nova<Local> = Nova::new_from_file(&elf_path).expect("failed to load guest program");
+
println!("Proving execution of vm...");
let proof = prover
.prove_with_input::<Input>(&pp, &run_info.input)