From 4f1a1c48e7ba1744fe1d92304f1f50eaa27f4c3e Mon Sep 17 00:00:00 2001 From: Guillaume Fraux Date: Sat, 1 Apr 2017 15:11:27 +0200 Subject: [PATCH] Add file name as a prefix in the benchmark names This will make reading benchmark output and comparison easier --- benches/argon.rs | 2 +- benches/nacl.rs | 2 +- benches/propane.rs | 2 +- benches/utils/mod.rs | 23 +++++++++++++++++++++++ benches/water.rs | 1 + 5 files changed, 27 insertions(+), 3 deletions(-) diff --git a/benches/argon.rs b/benches/argon.rs index d783bcefc..8b1f6ce5d 100644 --- a/benches/argon.rs +++ b/benches/argon.rs @@ -13,9 +13,9 @@ use rand::Rng; use lumol::sys::EnergyCache; use lumol::types::Vector3D; +#[macro_use] mod utils; - fn energy(bencher: &mut Bencher) { let system = utils::get_system("argon"); bencher.iter(||{ diff --git a/benches/nacl.rs b/benches/nacl.rs index d3ea5309b..a35af1f35 100644 --- a/benches/nacl.rs +++ b/benches/nacl.rs @@ -14,9 +14,9 @@ use lumol::energy::{Ewald, SharedEwald, Wolf, GlobalPotential}; use lumol::sys::EnergyCache; use lumol::types::Vector3D; +#[macro_use] mod utils; - fn energy_ewald(bencher: &mut Bencher) { let system = utils::get_system("nacl"); let ewald = SharedEwald::new(Ewald::new(9.5, 7)); diff --git a/benches/propane.rs b/benches/propane.rs index b8962492f..173cc410c 100644 --- a/benches/propane.rs +++ b/benches/propane.rs @@ -13,9 +13,9 @@ use rand::Rng; use lumol::sys::EnergyCache; use lumol::types::Vector3D; +#[macro_use] mod utils; - fn energy(bencher: &mut Bencher) { let system = utils::get_system("propane"); bencher.iter(||{ diff --git a/benches/utils/mod.rs b/benches/utils/mod.rs index ea72df687..d46616578 100644 --- a/benches/utils/mod.rs +++ b/benches/utils/mod.rs @@ -21,3 +21,26 @@ pub fn get_system(name: &str) -> System { pub fn get_rng(seed: u32) -> XorShiftRng { XorShiftRng::from_seed([seed, 784, 71255487, 5824]) } + +macro_rules! benchmark_group { + ($group_name:ident, $($function:path),+) => { + pub fn $group_name() -> ::std::vec::Vec { + use bencher::{TestDescAndFn, TestFn, TestDesc}; + use std::borrow::Cow; + use std::path::Path; + let mut benches = ::std::vec::Vec::new(); + $( + let path = Path::new(file!()); + let path = path.file_stem().unwrap().to_string_lossy(); + benches.push(TestDescAndFn { + desc: TestDesc { + name: Cow::from(path + "::" + stringify!($function)), + ignore: false, + }, + testfn: TestFn::StaticBenchFn($function), + }); + )+ + benches + } + } +} diff --git a/benches/water.rs b/benches/water.rs index 6e95bf388..bc6d057b5 100644 --- a/benches/water.rs +++ b/benches/water.rs @@ -14,6 +14,7 @@ use lumol::energy::{Ewald, SharedEwald, Wolf, PairRestriction, CoulombicPotentia use lumol::sys::EnergyCache; use lumol::types::Vector3D; +#[macro_use] mod utils; fn get_ewald() -> SharedEwald {