1use std::hint::black_box;23use criterion::{Criterion, criterion_group, criterion_main};4use jrsonnet_evaluator::{State, manifest::JsonFormat, trace::PathResolver};56fn criterion_benchmark(c: &mut Criterion) {7 c.bench_function("prim_comparison", |b| {8 let mut s = State::builder();910 s.context_initializer(jrsonnet_stdlib::ContextInitializer::new(11 PathResolver::Absolute,12 ));1314 let s = s.build();15 let _s = s.enter();1617 b.iter(|| {18 black_box(19 s.evaluate_snippet(20 "snippet",21 "([ i < j for i in std.range(1, 1000) for j in std.range(1, 1000)])",22 )23 .expect("evaluated")24 .manifest(JsonFormat::cli(3))25 .expect("manifested"),26 )27 });28 });29}3031criterion_group!(benches, criterion_benchmark);32criterion_main!(benches);