1 #![feature(test)] 2 3 extern crate test; 4 extern crate rand; 5 6 const RAND_BENCH_N: u64 = 1000; 7 8 mod distributions; 9 10 use std::mem::size_of; 11 use test::{black_box, Bencher}; 12 use rand::{StdRng, Rng}; 13 14 #[bench] rand_f32(b: &mut Bencher)15fn rand_f32(b: &mut Bencher) { 16 let mut rng = StdRng::new().unwrap(); 17 b.iter(|| { 18 for _ in 0..RAND_BENCH_N { 19 black_box(rng.next_f32()); 20 } 21 }); 22 b.bytes = size_of::<f32>() as u64 * RAND_BENCH_N; 23 } 24 25 #[bench] rand_f64(b: &mut Bencher)26fn rand_f64(b: &mut Bencher) { 27 let mut rng = StdRng::new().unwrap(); 28 b.iter(|| { 29 for _ in 0..RAND_BENCH_N { 30 black_box(rng.next_f64()); 31 } 32 }); 33 b.bytes = size_of::<f64>() as u64 * RAND_BENCH_N; 34 } 35