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/regex/openvm.toml"))?.app_vm_config;
15 let elf = args.build_bench_program("regex", &config, None)?;
16 run_with_metric_collection("OUTPUT_PATH", || -> Result<()> {
17 let data = include_str!("../../../guest/regex/regex_email.txt");
18
19 let fe_bytes = data.to_owned().into_bytes();
20 args.bench_from_exe::<SdkVmBuilder, _>(
21 "regex_program",
22 config,
23 elf,
24 StdIn::from_bytes(&fe_bytes),
25 )
26 })
27}