Simplify benchmark setup; support mutating machine

This commit is contained in:
infogulch
2023-11-13 14:58:18 -06:00
parent 3b7d4a7b36
commit 40608dc8d4
4 changed files with 98 additions and 122 deletions

View File

@@ -1,9 +1,16 @@
use criterion::{criterion_group, criterion_main, Criterion};
use criterion::{criterion_group, criterion_main, BatchSize, Criterion};
mod setup;
fn bench_criterion(c: &mut Criterion) {
setup::benches().run_all_criterion(c);
for (&name, bench) in setup::prolog_benches().iter() {
match bench.strategy {
setup::Strategy::Fresh => c.bench_function(name, |b| {
b.iter_batched(|| bench.setup(), |mut r| r(), BatchSize::LargeInput)
}),
setup::Strategy::Reuse => c.bench_function(name, |b| b.iter(bench.setup())),
};
}
}
criterion_group!(