Skip to content

Commit 63d3f0c

Browse files
committed
Add benchmarks for slices
1 parent 4509a5b commit 63d3f0c

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

benches/build.rs

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,35 @@ use bencher::Bencher;
66

77
use boomphf::Mphf;
88

9-
fn build1_ser(bench: &mut Bencher) {
9+
fn build1_ser_u64(bench: &mut Bencher) {
10+
let items: Vec<u64> = (0..1000000u64).map(|x| x * 2).collect();
11+
bench.iter(|| {
12+
std::hint::black_box(Mphf::new(2.0, &items));
13+
});
14+
}
15+
16+
fn build1_ser_slices(bench: &mut Bencher) {
17+
let items: Vec<[u8; 8]> = (0..1000000u64).map(|x| (x * 2).to_le_bytes()).collect();
18+
bench.iter(|| {
19+
std::hint::black_box(Mphf::new(2.0, &items));
20+
});
21+
}
22+
23+
#[allow(dead_code)]
24+
fn build1_par_u64(bench: &mut Bencher) {
25+
let items: Vec<u64> = (0..1000000u64).map(|x| x * 2).collect();
26+
#[cfg(feature = "parallel")]
1027
bench.iter(|| {
11-
let items: Vec<u64> = (0..1000000u64).map(|x| x * 2).collect();
12-
let _ = Mphf::new(2.0, &items);
28+
std::hint::black_box(Mphf::new_parallel(2.0, &items, None));
1329
});
1430
}
1531

1632
#[allow(dead_code)]
17-
fn build1_par(bench: &mut Bencher) {
33+
fn build1_par_slices(bench: &mut Bencher) {
34+
let items: Vec<[u8; 8]> = (0..1000000u64).map(|x| (x * 2).to_le_bytes()).collect();
1835
#[cfg(feature = "parallel")]
1936
bench.iter(|| {
20-
let items: Vec<u64> = (0..1000000u64).map(|x| x * 2).collect();
21-
let _ = Mphf::new_parallel(2.0, &items, None);
37+
std::hint::black_box(Mphf::new_parallel(2.0, &items, None));
2238
});
2339
}
2440

@@ -28,10 +44,10 @@ fn scan1_ser(bench: &mut Bencher) {
2844

2945
bench.iter(|| {
3046
for i in (0..1000000u64).map(|x| x * 2) {
31-
phf.hash(&i);
47+
std::hint::black_box(phf.hash(&i));
3248
}
3349
});
3450
}
3551

36-
benchmark_group!(benches, build1_ser, build1_par, scan1_ser);
52+
benchmark_group!(benches, build1_ser_u64, build1_ser_slices, build1_par_u64, build1_par_slices, scan1_ser);
3753
benchmark_main!(benches);

0 commit comments

Comments
 (0)