mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-15 22:28:10 +08:00
Reduce measurement overhead for run_once benchmark
This commit is contained in:
@@ -4,16 +4,18 @@ use benchmark_util::{bench_for_each_demo, setup_network};
|
||||
use criterion::{Criterion, criterion_group, criterion_main};
|
||||
use graph_craft::graphene_compiler::Executor;
|
||||
use graphene_std::application_io::RenderConfig;
|
||||
use interpreted_executor::dynamic_executor::DynamicExecutor;
|
||||
|
||||
fn run_once(c: &mut Criterion) {
|
||||
let mut group = c.benchmark_group("Run Once");
|
||||
let context = RenderConfig::default();
|
||||
bench_for_each_demo(&mut group, |name, g| {
|
||||
let (_, network) = setup_network(name);
|
||||
g.bench_function(name, |b| {
|
||||
b.iter_batched(
|
||||
|| setup_network(name),
|
||||
|(executor, _)| Executor::execute(&&executor, std::hint::black_box(context)).unwrap(),
|
||||
criterion::BatchSize::SmallInput,
|
||||
|| DynamicExecutor::new(network.clone()).unwrap(),
|
||||
|executor| Executor::execute(&&executor, std::hint::black_box(context)).unwrap(),
|
||||
criterion::BatchSize::LargeInput,
|
||||
)
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user