From d77543886f580498fb3510df53b5cfc16c628003 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Tue, 12 Mar 2019 14:33:23 +0000 Subject: [PATCH] Improve benchmarking stability Run all the paths in a single callback to avoid confusing `.iter`. Right now we have only one path either way, so this doesn't change much, but better to have a safeguard for the future. --- benches/bench.rs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/benches/bench.rs b/benches/bench.rs index d23533bed..52e00cb45 100644 --- a/benches/bench.rs +++ b/benches/bench.rs @@ -28,21 +28,23 @@ fn bench_parsing_reuse_parser(bencher: &mut bencher::Bencher) { } fn bench_parsing_aux(parser: Option<&Shift>, bencher: &mut bencher::Bencher) { - for &path in PATHS { - bencher.iter(move || { + bencher.iter(move || { + for &path in PATHS { let shift; - match parser { - Some(parser) => parser, - None => { - shift = launch_shift(); - &shift + bencher::black_box( + match parser { + Some(parser) => parser, + None => { + shift = launch_shift(); + &shift + } } - } - .parse_file(path) - .expect("Could not parse source") - }); - } + .parse_file(path) + .expect("Could not parse source"), + ); + } + }); } benchmark_group!(