#![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::() 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::() as u64 * RAND_BENCH_N; }