aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-07 11:40:22 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-07 11:40:22 +0200
commit7f1bb12f591bcc0726d0d160f19fb6cc983e18c1 (patch)
tree39316be705fb079dd8bb86638586b11bf6c19b2a
parent3c5ec289b10d244a513a353afe00a2070dc66b5c (diff)
downloadzkVMs-benchmarks-7f1bb12f591bcc0726d0d160f19fb6cc983e18c1.tar
zkVMs-benchmarks-7f1bb12f591bcc0726d0d160f19fb6cc983e18c1.tar.gz
zkVMs-benchmarks-7f1bb12f591bcc0726d0d160f19fb6cc983e18c1.zip
feat(zkvms/sp1): Add benchmarking capability
-rw-r--r--zkvms/sp1/host/src/main.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/zkvms/sp1/host/src/main.rs b/zkvms/sp1/host/src/main.rs
index ef069fb..19d88a3 100644
--- a/zkvms/sp1/host/src/main.rs
+++ b/zkvms/sp1/host/src/main.rs
@@ -1,4 +1,4 @@
-use zkvms_host_io::{Input, foreach_input_field, read_args, RunType::{ Execute, Prove, Verify }};
+use zkvms_host_io::{Input, foreach_input_field, benchmarkable, read_args, RunType::{ Execute, Prove, Verify }};
use sp1_sdk::{ProverClient, EnvProver, SP1Stdin, SP1ProofWithPublicValues, SP1VerifyingKey};
/// The ELF (executable and linkable format) file for the Succinct RISC-V zkVM.
@@ -29,19 +29,19 @@ fn main() {
let client = ProverClient::new();
match run_info.run_type {
- Execute => {
+ Execute => benchmarkable!{
let (output, report) = client.execute(FIBONACCI_ELF, &stdin).run().unwrap();
println!("Program executed successfully.");
println!("{:?}", output);
println!("Number of cycles: {}", report.total_instruction_count());
},
- Prove => {
- let _ = prove(&client, stdin);
+ Prove => benchmarkable!{
+ let _ = prove(&client, stdin.clone());
println!("Successfully generated proof!");
},
- Verify => {
- let (proof, vk) = prove(&client, stdin);
+ Verify => benchmarkable!{
+ let (proof, vk) = prove(&client, stdin.clone());
println!("Successfully generated proof!");
client.verify(&proof, &vk).expect("failed to verify proof");