File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
compiler/rustc_index/src/bit_set Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 11use super :: * ;
22
33extern crate test;
4+ use std:: hint:: black_box;
45use 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+ }
You can’t perform that action at this time.
0 commit comments