mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-01 05:58:12 +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 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,
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user