psychopath/sub_crates/rrand/benches/bench.rs
2022-08-04 11:52:49 -07:00

68 lines
1.3 KiB
Rust

use bencher::{benchmark_group, benchmark_main, black_box, Bencher};
use rrand::{mix32, mix32_seed, mix64, mix64_seed, Rng};
//----
fn rng_u32_100000(bench: &mut Bencher) {
bench.iter(|| {
let mut rng = Rng::new(black_box(0));
for _ in 0..100000 {
black_box(rng.u32());
}
});
}
fn rng_u64_100000(bench: &mut Bencher) {
bench.iter(|| {
let mut rng = Rng::new(black_box(0));
for _ in 0..100000 {
black_box(rng.u64());
}
});
}
fn mix32_100000(bench: &mut Bencher) {
bench.iter(|| {
for i in 0..100000 {
black_box(mix32(black_box(i)));
}
});
}
fn mix64_100000(bench: &mut Bencher) {
bench.iter(|| {
for i in 0..100000 {
black_box(mix64(black_box(i)));
}
});
}
fn mix32_seed_100000(bench: &mut Bencher) {
bench.iter(|| {
for i in 0..100000 {
black_box(mix32_seed(black_box(i), black_box(0)));
}
});
}
fn mix64_seed_100000(bench: &mut Bencher) {
bench.iter(|| {
for i in 0..100000 {
black_box(mix64_seed(black_box(i), black_box(0)));
}
});
}
//----
benchmark_group!(
benches,
rng_u32_100000,
rng_u64_100000,
mix32_100000,
mix64_100000,
mix32_seed_100000,
mix64_seed_100000,
);
benchmark_main!(benches);