]> git.proxmox.com Git - cargo.git/blob - vendor/rdrand/benches/rdrand.rs
New upstream version 0.33.0
[cargo.git] / vendor / rdrand / benches / rdrand.rs
1 #![feature(test)]
2 extern crate rand_core;
3 extern crate rdrand;
4 extern crate test;
5
6 use rand_core::RngCore;
7 use test::Bencher;
8
9 #[bench]
10 fn bench_u16(b : &mut Bencher) {
11 if let Ok(gen) = rdrand::RdRand::new() {
12 b.bytes = 2;
13 b.iter(|| {
14 gen.try_next_u16().unwrap()
15 });
16 }
17 }
18
19 #[bench]
20 fn bench_u32(b : &mut Bencher) {
21 if let Ok(mut gen) = rdrand::RdRand::new() {
22 b.bytes = 4;
23 b.iter(|| {
24 gen.next_u32()
25 });
26 }
27 }
28
29 #[bench]
30 fn bench_u64(b : &mut Bencher) {
31 if let Ok(mut gen) = rdrand::RdRand::new() {
32 b.bytes = 8;
33 b.iter(|| {
34 gen.next_u64()
35 });
36 }
37 }
38
39 #[bench]
40 fn bench_fill(b : &mut Bencher) {
41 if let Ok(mut gen) = rdrand::RdRand::new() {
42 let mut buffer = [0; 128];
43 b.bytes = 128;
44 b.iter(|| {
45 gen.fill_bytes(&mut buffer);
46 buffer
47 });
48 }
49 }