aboutsummaryrefslogtreecommitdiff
path: root/zkvms/risc0/host/src/main.rs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-07 11:43:50 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-07 11:43:50 +0200
commitc626e4f0ac87399a6ca12f7678e34be90ce4b0f8 (patch)
tree09db649f4171c6f862b60b8079a86d90c3fa0afb /zkvms/risc0/host/src/main.rs
parent7f1bb12f591bcc0726d0d160f19fb6cc983e18c1 (diff)
downloadzkVMs-benchmarks-c626e4f0ac87399a6ca12f7678e34be90ce4b0f8.tar
zkVMs-benchmarks-c626e4f0ac87399a6ca12f7678e34be90ce4b0f8.tar.gz
zkVMs-benchmarks-c626e4f0ac87399a6ca12f7678e34be90ce4b0f8.zip
feat(zkvms/risc0): Add benchmarking capability
Diffstat (limited to 'zkvms/risc0/host/src/main.rs')
-rw-r--r--zkvms/risc0/host/src/main.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/zkvms/risc0/host/src/main.rs b/zkvms/risc0/host/src/main.rs
index 9497360..624b3f2 100644
--- a/zkvms/risc0/host/src/main.rs
+++ b/zkvms/risc0/host/src/main.rs
@@ -1,4 +1,4 @@
-use zkvms_host_io::{Input, Output, foreach_input_field, read_args, RunType::{ Execute, Prove, Verify }};
+use zkvms_host_io::{Input, Output, foreach_input_field, benchmarkable, read_args, RunType::{ Execute, Prove, Verify }};
use risc0_zkvm::{default_prover, default_executor, ExecutorEnv, Receipt};
use risc0_zkp::core::digest::Digest;
use hex::FromHex;
@@ -32,10 +32,10 @@ fn journal(receipt: Receipt) -> Output {
fn main() {
let run_info = read_args();
- let env = build_env(&run_info.input);
match run_info.run_type {
- Execute => {
+ Execute => benchmarkable!{
+ let env = build_env(&run_info.input);
let exec = default_executor();
let output = default_executor()
.execute(env, HELLO_GUEST_ELF)
@@ -48,14 +48,16 @@ fn main() {
println!("{:#?}", output);
},
- Prove => {
+ Prove => benchmarkable!{
+ let env = build_env(&run_info.input);
let receipt = prove(env);
println!("Output from journal: {:?}", journal(receipt));
},
- Verify => {
+ Verify => benchmarkable!{
// https://github.com/risc0/risc0/blob/881e512732eca72849b2d0e263a1242aba3158af/risc0/build/src/lib.rs#L197-L199
let guest_id: Digest = Digest::from_hex(HELLO_GUEST_ID).unwrap();
+ let env = build_env(&run_info.input);
let receipt = prove(env);
receipt.verify(guest_id).unwrap();