68 lines
1.3 KiB
Rust
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);
|