File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
src/librustc_data_structures Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -5,6 +5,10 @@ use std::iter;
5
5
use std:: marker:: PhantomData ;
6
6
use std:: mem;
7
7
use std:: slice;
8
+ #[ cfg( test) ]
9
+ extern crate test;
10
+ #[ cfg( test) ]
11
+ use test:: Bencher ;
8
12
9
13
pub type Word = u64 ;
10
14
pub const WORD_BYTES : usize = mem:: size_of :: < Word > ( ) ;
@@ -1132,3 +1136,17 @@ fn sparse_matrix_iter() {
1132
1136
}
1133
1137
assert ! ( iter. next( ) . is_none( ) ) ;
1134
1138
}
1139
+
1140
+ #[ bench]
1141
+ fn union_hybrid_sparse_to_dense ( b : & mut Bencher ) {
1142
+ let mut pre_dense: HybridBitSet < usize > = HybridBitSet :: new_empty ( 256 ) ;
1143
+ for i in 0 ..10 {
1144
+ assert ! ( pre_dense. insert( i) ) ;
1145
+ }
1146
+ let pre_sparse: HybridBitSet < usize > = HybridBitSet :: new_empty ( 256 ) ;
1147
+ b. iter ( || {
1148
+ let dense = pre_dense. clone ( ) ;
1149
+ let mut sparse = pre_sparse. clone ( ) ;
1150
+ sparse. union ( & dense) ;
1151
+ } )
1152
+ }
You can’t perform that action at this time.
0 commit comments