| #![feature(test)] |
| extern crate rand_core; |
| extern crate rdrand; |
| extern crate test; |
| |
| use rand_core::RngCore; |
| use test::Bencher; |
| |
| #[bench] |
| fn bench_rdseed_u16(b : &mut Bencher) { |
| if let Ok(gen) = rdrand::RdSeed::new() { |
| b.bytes = 2; |
| b.iter(|| { |
| gen.try_next_u16().unwrap() |
| }); |
| } |
| } |
| |
| #[bench] |
| fn bench_rdseed_u32(b : &mut Bencher) { |
| if let Ok(mut gen) = rdrand::RdSeed::new() { |
| b.bytes = 4; |
| b.iter(|| { |
| gen.next_u32() |
| }); |
| } |
| } |
| |
| #[bench] |
| fn bench_rdseed_u64(b : &mut Bencher) { |
| if let Ok(mut gen) = rdrand::RdSeed::new() { |
| b.bytes = 8; |
| b.iter(|| { |
| gen.next_u64() |
| }); |
| } |
| } |
| |
| #[bench] |
| fn bench_fill(b : &mut Bencher) { |
| if let Ok(mut gen) = rdrand::RdSeed::new() { |
| let mut buffer = [0; 128]; |
| b.bytes = 128; |
| b.iter(|| { |
| gen.fill_bytes(&mut buffer); |
| buffer |
| }); |
| } |
| } |