File tree 1 file changed +34
-0
lines changed
compiler/rustc_index/src/bit_set
1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1
1
use super :: * ;
2
2
3
3
extern crate test;
4
+ use std:: hint:: black_box;
4
5
use test:: Bencher ;
5
6
6
7
#[ test]
@@ -364,3 +365,36 @@ fn union_hybrid_sparse_full_small_domain(b: &mut Bencher) {
364
365
sparse. union ( & dense) ;
365
366
} )
366
367
}
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