diff options
| author | kadmin <julianknodt@gmail.com> | 2021-02-02 21:44:32 +0000 |
|---|---|---|
| committer | kadmin <julianknodt@gmail.com> | 2021-02-02 23:31:30 +0000 |
| commit | 6e6608d8b54319aff0f5e6a3e10bd25aa508c329 (patch) | |
| tree | 9f4ab86d1062913247c2630d2a359a13b778056c | |
| parent | 3182375e064b8fa90437aee1465bccafd8187d89 (diff) | |
| download | rust-6e6608d8b54319aff0f5e6a3e10bd25aa508c329.tar.gz rust-6e6608d8b54319aff0f5e6a3e10bd25aa508c329.zip | |
Add additional benchmarks to bit_set
| -rw-r--r-- | compiler/rustc_index/src/bit_set/tests.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/compiler/rustc_index/src/bit_set/tests.rs b/compiler/rustc_index/src/bit_set/tests.rs index 6cc3e9427d1..c11b98e77aa 100644 --- a/compiler/rustc_index/src/bit_set/tests.rs +++ b/compiler/rustc_index/src/bit_set/tests.rs @@ -1,6 +1,7 @@ use super::*; extern crate test; +use std::hint::black_box; use test::Bencher; #[test] @@ -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)); + }); +} |
