regex/
regex.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/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}