use mo::config::GeneratorConfig; use mo::parallel_generate_examples; use criterion::{black_box, criterion_group, criterion_main, Criterion}; fn basic_benchmark(c: &mut Criterion) { let config: GeneratorConfig = GeneratorConfig::benchmark(); let grammar = r#" // I like Rust! language = {"Rust" | "Python" | "Go" | "Java" | "PHP" | "Haskell"} one = {"1"} daysNumber = {one ~ " day" | !one ~ ASCII_NONZERO_DIGIT ~ " days"} sentence = {"I have been programming in " ~ language ~ " for " ~ daysNumber ~ "."} "#; c.bench_function("Readme grammar example", |b| { b.iter(|| { parallel_generate_examples( black_box(grammar.to_string()), black_box(100), black_box("sentence".to_string()), black_box(&config), black_box(false), black_box(true), ) }) }); } criterion_group!(benches, basic_benchmark); criterion_main!(benches);