diff options
| author | Huon Wilson <dbau.pp+github@gmail.com> | 2013-11-01 21:33:13 +1100 |
|---|---|---|
| committer | Huon Wilson <dbau.pp+github@gmail.com> | 2013-11-01 22:09:06 +1100 |
| commit | 3c25baa540be6186bba380e4352ef5f676deb6d6 (patch) | |
| tree | e4d9bd297224c012e68f87663ab02e25fcad96ae | |
| parent | cd50fb39b5ec3a2b7d77684be861dae064ead3f7 (diff) | |
| download | rust-3c25baa540be6186bba380e4352ef5f676deb6d6.tar.gz rust-3c25baa540be6186bba380e4352ef5f676deb6d6.zip | |
std::rand: share the benchmark counter among the whole module tree.
| -rw-r--r-- | src/libstd/rand/distributions/gamma.rs | 11 | ||||
| -rw-r--r-- | src/libstd/rand/distributions/mod.rs | 12 | ||||
| -rw-r--r-- | src/libstd/rand/mod.rs | 22 |
3 files changed, 21 insertions, 24 deletions
diff --git a/src/libstd/rand/distributions/gamma.rs b/src/libstd/rand/distributions/gamma.rs index 46025961ec9..735b083df75 100644 --- a/src/libstd/rand/distributions/gamma.rs +++ b/src/libstd/rand/distributions/gamma.rs @@ -182,12 +182,11 @@ mod bench { use super::*; use mem::size_of; use rand::distributions::IndependentSample; - use rand::StdRng; + use rand::{StdRng, RAND_BENCH_N}; use extra::test::BenchHarness; use iter::range; use option::{Some, None}; - static N: u64 = 100; #[bench] fn bench_gamma_large_shape(bh: &mut BenchHarness) { @@ -195,11 +194,11 @@ mod bench { let mut rng = StdRng::new(); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { gamma.ind_sample(&mut rng); } } - bh.bytes = size_of::<f64>() as u64 * N; + bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N; } #[bench] @@ -208,10 +207,10 @@ mod bench { let mut rng = StdRng::new(); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { gamma.ind_sample(&mut rng); } } - bh.bytes = size_of::<f64>() as u64 * N; + bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N; } } diff --git a/src/libstd/rand/distributions/mod.rs b/src/libstd/rand/distributions/mod.rs index d5bc4fc929a..c8324386470 100644 --- a/src/libstd/rand/distributions/mod.rs +++ b/src/libstd/rand/distributions/mod.rs @@ -556,25 +556,23 @@ mod tests { #[cfg(test)] mod bench { use extra::test::BenchHarness; - use rand::*; + use rand::{XorShiftRng, RAND_BENCH_N}; use super::*; use iter::range; use option::{Some, None}; use mem::size_of; - static N: u64 = 100; - #[bench] fn rand_normal(bh: &mut BenchHarness) { let mut rng = XorShiftRng::new(); let mut normal = Normal::new(-2.71828, 3.14159); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { normal.sample(&mut rng); } } - bh.bytes = size_of::<f64>() as u64 * N; + bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N; } #[bench] fn rand_exp(bh: &mut BenchHarness) { @@ -582,10 +580,10 @@ mod bench { let mut exp = Exp::new(2.71828 * 3.14159); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { exp.sample(&mut rng); } } - bh.bytes = size_of::<f64>() as u64 * N; + bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N; } } diff --git a/src/libstd/rand/mod.rs b/src/libstd/rand/mod.rs index a6efdfc66db..e3208981751 100644 --- a/src/libstd/rand/mod.rs +++ b/src/libstd/rand/mod.rs @@ -833,58 +833,58 @@ mod test { } } +static RAND_BENCH_N: u64 = 100; + #[cfg(test)] mod bench { use extra::test::BenchHarness; - use rand::*; + use rand::{XorShiftRng, StdRng, IsaacRng, Isaac64Rng, Rng, RAND_BENCH_N}; use mem::size_of; use iter::range; use option::{Some, None}; - static N: u64 = 100; - #[bench] fn rand_xorshift(bh: &mut BenchHarness) { let mut rng = XorShiftRng::new(); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { rng.gen::<uint>(); } } - bh.bytes = size_of::<uint>() as u64 * N; + bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N; } #[bench] fn rand_isaac(bh: &mut BenchHarness) { let mut rng = IsaacRng::new(); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { rng.gen::<uint>(); } } - bh.bytes = size_of::<uint>() as u64 * N; + bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N; } #[bench] fn rand_isaac64(bh: &mut BenchHarness) { let mut rng = Isaac64Rng::new(); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { rng.gen::<uint>(); } } - bh.bytes = size_of::<uint>() as u64 * N; + bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N; } #[bench] fn rand_std(bh: &mut BenchHarness) { let mut rng = StdRng::new(); do bh.iter { - for _ in range(0, N) { + for _ in range(0, RAND_BENCH_N) { rng.gen::<uint>(); } } - bh.bytes = size_of::<uint>() as u64 * N; + bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N; } #[bench] |
