diff options
Diffstat (limited to 'rand/benches/bench.rs')
-rw-r--r-- | rand/benches/bench.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/rand/benches/bench.rs b/rand/benches/bench.rs new file mode 100644 index 0000000..d396f25 --- /dev/null +++ b/rand/benches/bench.rs @@ -0,0 +1,34 @@ +#![feature(test)] + +extern crate test; +extern crate rand; + +const RAND_BENCH_N: u64 = 1000; + +mod distributions; + +use std::mem::size_of; +use test::{black_box, Bencher}; +use rand::{StdRng, Rng}; + +#[bench] +fn rand_f32(b: &mut Bencher) { + let mut rng = StdRng::new().unwrap(); + b.iter(|| { + for _ in 0..RAND_BENCH_N { + black_box(rng.next_f32()); + } + }); + b.bytes = size_of::<f32>() as u64 * RAND_BENCH_N; +} + +#[bench] +fn rand_f64(b: &mut Bencher) { + let mut rng = StdRng::new().unwrap(); + b.iter(|| { + for _ in 0..RAND_BENCH_N { + black_box(rng.next_f64()); + } + }); + b.bytes = size_of::<f64>() as u64 * RAND_BENCH_N; +} |