cloud-hypervisor/vendor/registry-40351f815f426200/rdrand/benches/rdrand.rs
Samuel Ortiz d5f5648b37 vendor: Add vendored dependencies
We use cargo vendor to generate a .cargo/config file and the vendor
directory. Vendoring allows us to lock our dependencies and to modify
them easily from the top level Cargo.toml.

We vendor all dependencies, including the crates.io ones, which allows
for network isolated builds.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-06-04 17:51:52 +02:00

50 lines
926 B
Rust

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