Reduce measurement overhead for run_once benchmark

This commit is contained in:
Dennis Kobert
2026-08-27 00:37:25 +02:00
parent ed457093b1
commit 694d3d34b3
@@ -4,16 +4,18 @@ use benchmark_util::{bench_for_each_demo, setup_network};
use criterion::{Criterion, criterion_group, criterion_main}; use criterion::{Criterion, criterion_group, criterion_main};
use graph_craft::graphene_compiler::Executor; use graph_craft::graphene_compiler::Executor;
use graphene_std::application_io::RenderConfig; use graphene_std::application_io::RenderConfig;
use interpreted_executor::dynamic_executor::DynamicExecutor;
fn run_once(c: &mut Criterion) { fn run_once(c: &mut Criterion) {
let mut group = c.benchmark_group("Run Once"); let mut group = c.benchmark_group("Run Once");
let context = RenderConfig::default(); let context = RenderConfig::default();
bench_for_each_demo(&mut group, |name, g| { bench_for_each_demo(&mut group, |name, g| {
let (_, network) = setup_network(name);
g.bench_function(name, |b| { g.bench_function(name, |b| {
b.iter_batched( b.iter_batched(
|| setup_network(name), || DynamicExecutor::new(network.clone()).unwrap(),
|(executor, _)| Executor::execute(&&executor, std::hint::black_box(context)).unwrap(), |executor| Executor::execute(&&executor, std::hint::black_box(context)).unwrap(),
criterion::BatchSize::SmallInput, criterion::BatchSize::LargeInput,
) )
}); });
}); });