diff options
| author | Huon Wilson <dbau.pp+github@gmail.com> | 2013-10-11 22:09:06 +1100 |
|---|---|---|
| committer | Huon Wilson <dbau.pp+github@gmail.com> | 2013-10-23 10:40:06 +1100 |
| commit | 83aa1abb19ee290655ed03053e26cdb2662242c4 (patch) | |
| tree | 8116f86b63a82f3155eb862a4a0933364115a6a3 /src/libstd | |
| parent | ed5f2d7c7c673dcbadcf71444251cebe72e6345b (diff) | |
| download | rust-83aa1abb19ee290655ed03053e26cdb2662242c4.tar.gz rust-83aa1abb19ee290655ed03053e26cdb2662242c4.zip | |
std::rand: lengthen the RNG benchmarks.
This makes them more representative, as the `bh.iter` is a smaller percentage of the total time.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/rand/mod.rs | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/libstd/rand/mod.rs b/src/libstd/rand/mod.rs index b94d8d72e37..2d2c6e794f8 100644 --- a/src/libstd/rand/mod.rs +++ b/src/libstd/rand/mod.rs @@ -970,41 +970,53 @@ mod bench { use extra::test::BenchHarness; use rand::*; 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 { - rng.gen::<uint>(); + for _ in range(0, N) { + rng.gen::<uint>(); + } } - bh.bytes = size_of::<uint>() as u64; + bh.bytes = size_of::<uint>() as u64 * N; } #[bench] fn rand_isaac(bh: &mut BenchHarness) { let mut rng = IsaacRng::new(); do bh.iter { - rng.gen::<uint>(); + for _ in range(0, N) { + rng.gen::<uint>(); + } } - bh.bytes = size_of::<uint>() as u64; + bh.bytes = size_of::<uint>() as u64 * N; } #[bench] fn rand_isaac64(bh: &mut BenchHarness) { let mut rng = Isaac64Rng::new(); do bh.iter { - rng.gen::<uint>(); + for _ in range(0, N) { + rng.gen::<uint>(); + } } - bh.bytes = size_of::<uint>() as u64; + bh.bytes = size_of::<uint>() as u64 * N; } #[bench] fn rand_std(bh: &mut BenchHarness) { let mut rng = StdRng::new(); do bh.iter { - rng.gen::<uint>(); + for _ in range(0, N) { + rng.gen::<uint>(); + } } - bh.bytes = size_of::<uint>() as u64; + bh.bytes = size_of::<uint>() as u64 * N; } #[bench] |
