Skip to content

Commit 6e6608d

Browse files
committed
Add additional benchmarks to bit_set
1 parent 3182375 commit 6e6608d

File tree

1 file changed

+34
-0
lines changed
  • compiler/rustc_index/src/bit_set

1 file changed

+34
-0
lines changed

compiler/rustc_index/src/bit_set/tests.rs

+34
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use super::*;
22

33
extern crate test;
4+
use std::hint::black_box;
45
use test::Bencher;
56

67
#[test]
@@ -364,3 +365,36 @@ fn union_hybrid_sparse_full_small_domain(b: &mut Bencher) {
364365
sparse.union(&dense);
365366
})
366367
}
368+
369+
#[bench]
370+
fn bench_insert(b: &mut Bencher) {
371+
let mut bs = BitSet::new_filled(99999usize);
372+
b.iter(|| {
373+
black_box(bs.insert(black_box(100u32)));
374+
});
375+
}
376+
377+
#[bench]
378+
fn bench_remove(b: &mut Bencher) {
379+
let mut bs = BitSet::new_filled(99999usize);
380+
b.iter(|| {
381+
black_box(bs.remove(black_box(100u32)));
382+
});
383+
}
384+
385+
#[bench]
386+
fn bench_iter(b: &mut Bencher) {
387+
let bs = BitSet::new_filled(99999usize);
388+
b.iter(|| {
389+
bs.iter().map(|b: usize| black_box(b)).for_each(drop);
390+
});
391+
}
392+
393+
#[bench]
394+
fn bench_intersect(b: &mut Bencher) {
395+
let mut ba: BitSet<u32> = BitSet::new_filled(99999usize);
396+
let bb = BitSet::new_filled(99999usize);
397+
b.iter(|| {
398+
ba.intersect(black_box(&bb));
399+
});
400+
}

0 commit comments

Comments
 (0)