fibonacci/
fibonacci.rs

1use clap::Parser;
2use eyre::Result;
3use openvm_benchmarks_prove::util::BenchmarkCli;
4use openvm_sdk::{
5    config::{SdkVmBuilder, SdkVmConfig},
6    StdIn,
7};
8use openvm_stark_sdk::bench::run_with_metric_collection;
9
10fn main() -> Result<()> {
11    let args = BenchmarkCli::parse();
12
13    let config =
14        SdkVmConfig::from_toml(include_str!("../../../guest/fibonacci/openvm.toml"))?.app_vm_config;
15    let elf = args.build_bench_program("fibonacci", &config, None)?;
16
17    run_with_metric_collection("OUTPUT_PATH", || -> Result<()> {
18        let n = 100_000u64;
19        let mut stdin = StdIn::default();
20        stdin.write(&n);
21        args.bench_from_exe::<SdkVmBuilder, _>("fibonacci_program", config, elf, stdin)
22    })
23}