| mod benchmark_util; | |
| use benchmark_util::{bench_for_each_demo, setup_network}; | |
| use criterion::{Criterion, criterion_group, criterion_main}; | |
| use graphene_std::Context; | |
| fn run_once(c: &mut Criterion) { | |
| let mut group = c.benchmark_group("Run Once"); | |
| let context: Context = None; | |
| bench_for_each_demo(&mut group, |name, g| { | |
| g.bench_function(name, |b| { | |
| b.iter_batched( | |
| || setup_network(name), | |
| |(executor, _)| futures::executor::block_on(executor.tree().eval_tagged_value(executor.output(), criterion::black_box(context.clone()))).unwrap(), | |
| criterion::BatchSize::SmallInput, | |
| ) | |
| }); | |
| }); | |
| group.finish(); | |
| } | |
| criterion_group!(benches, run_once); | |
| criterion_main!(benches); | |