File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -206,3 +206,55 @@ bench_suite!(
206
206
iter_ahash_random,
207
207
iter_std_random
208
208
) ;
209
+
210
+ #[ bench]
211
+ fn clone_small ( b : & mut Bencher ) {
212
+ let mut m = HashMap :: new ( ) ;
213
+ for i in 0 ..10 {
214
+ m. insert ( i, i) ;
215
+ }
216
+
217
+ b. iter ( || {
218
+ black_box ( m. clone ( ) ) ;
219
+ } )
220
+ }
221
+
222
+ #[ bench]
223
+ fn clone_from_small ( b : & mut Bencher ) {
224
+ let mut m = HashMap :: new ( ) ;
225
+ let mut m2 = HashMap :: new ( ) ;
226
+ for i in 0 ..10 {
227
+ m. insert ( i, i) ;
228
+ }
229
+
230
+ b. iter ( || {
231
+ m2. clone_from ( & m) ;
232
+ black_box ( & mut m2) ;
233
+ } )
234
+ }
235
+
236
+ #[ bench]
237
+ fn clone_large ( b : & mut Bencher ) {
238
+ let mut m = HashMap :: new ( ) ;
239
+ for i in 0 ..1000 {
240
+ m. insert ( i, i) ;
241
+ }
242
+
243
+ b. iter ( || {
244
+ black_box ( m. clone ( ) ) ;
245
+ } )
246
+ }
247
+
248
+ #[ bench]
249
+ fn clone_from_large ( b : & mut Bencher ) {
250
+ let mut m = HashMap :: new ( ) ;
251
+ let mut m2 = HashMap :: new ( ) ;
252
+ for i in 0 ..1000 {
253
+ m. insert ( i, i) ;
254
+ }
255
+
256
+ b. iter ( || {
257
+ m2. clone_from ( & m) ;
258
+ black_box ( & mut m2) ;
259
+ } )
260
+ }
You can’t perform that action at this time.
0 commit comments