Skip to content

Commit

Permalink
Add additional benchmarks to bit_set
Browse files Browse the repository at this point in the history
  • Loading branch information
JulianKnodt committed Feb 2, 2021
1 parent 3182375 commit 6e6608d
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions compiler/rustc_index/src/bit_set/tests.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use super::*;

extern crate test;
use std::hint::black_box;
use test::Bencher;

#[test]
Expand Down Expand Up @@ -364,3 +365,36 @@ fn union_hybrid_sparse_full_small_domain(b: &mut Bencher) {
sparse.union(&dense);
})
}

#[bench]
fn bench_insert(b: &mut Bencher) {
let mut bs = BitSet::new_filled(99999usize);
b.iter(|| {
black_box(bs.insert(black_box(100u32)));
});
}

#[bench]
fn bench_remove(b: &mut Bencher) {
let mut bs = BitSet::new_filled(99999usize);
b.iter(|| {
black_box(bs.remove(black_box(100u32)));
});
}

#[bench]
fn bench_iter(b: &mut Bencher) {
let bs = BitSet::new_filled(99999usize);
b.iter(|| {
bs.iter().map(|b: usize| black_box(b)).for_each(drop);
});
}

#[bench]
fn bench_intersect(b: &mut Bencher) {
let mut ba: BitSet<u32> = BitSet::new_filled(99999usize);
let bb = BitSet::new_filled(99999usize);
b.iter(|| {
ba.intersect(black_box(&bb));
});
}

0 comments on commit 6e6608d

Please sign in to comment.