@@ -20,7 +20,9 @@ use indexmap::IndexMap;
2020use std:: collections:: HashMap ;
2121use std:: iter:: FromIterator ;
2222
23- use rand:: { weak_rng, Rng } ;
23+ use rand:: rngs:: SmallRng ;
24+ use rand:: FromEntropy ;
25+ use rand:: seq:: SliceRandom ;
2426
2527#[ bench]
2628fn new_hashmap ( b : & mut Bencher ) {
@@ -286,8 +288,8 @@ fn shuffled_keys<I>(iter: I) -> Vec<I::Item>
286288 where I : IntoIterator
287289{
288290 let mut v = Vec :: from_iter ( iter) ;
289- let mut rng = weak_rng ( ) ;
290- rng . shuffle ( & mut v ) ;
291+ let mut rng = SmallRng :: from_entropy ( ) ;
292+ v . shuffle ( & mut rng ) ;
291293 v
292294}
293295
@@ -533,11 +535,11 @@ fn hashmap_merge_shuffle(b: &mut Bencher) {
533535 let first_map: HashMap < u64 , _ > = ( 0 ..MERGE ) . map ( |i| ( i, ( ) ) ) . collect ( ) ;
534536 let second_map: HashMap < u64 , _ > = ( MERGE ..MERGE * 2 ) . map ( |i| ( i, ( ) ) ) . collect ( ) ;
535537 let mut v = Vec :: new ( ) ;
536- let mut rng = weak_rng ( ) ;
538+ let mut rng = SmallRng :: from_entropy ( ) ;
537539 b. iter ( || {
538540 let mut merged = first_map. clone ( ) ;
539541 v. extend ( second_map. iter ( ) . map ( |( & k, & v) | ( k, v) ) ) ;
540- rng . shuffle ( & mut v ) ;
542+ v . shuffle ( & mut rng ) ;
541543 merged. extend ( v. drain ( ..) ) ;
542544
543545 merged
@@ -560,11 +562,11 @@ fn ordermap_merge_shuffle(b: &mut Bencher) {
560562 let first_map: IndexMap < u64 , _ > = ( 0 ..MERGE ) . map ( |i| ( i, ( ) ) ) . collect ( ) ;
561563 let second_map: IndexMap < u64 , _ > = ( MERGE ..MERGE * 2 ) . map ( |i| ( i, ( ) ) ) . collect ( ) ;
562564 let mut v = Vec :: new ( ) ;
563- let mut rng = weak_rng ( ) ;
565+ let mut rng = SmallRng :: from_entropy ( ) ;
564566 b. iter ( || {
565567 let mut merged = first_map. clone ( ) ;
566568 v. extend ( second_map. iter ( ) . map ( |( & k, & v) | ( k, v) ) ) ;
567- rng . shuffle ( & mut v ) ;
569+ v . shuffle ( & mut rng ) ;
568570 merged. extend ( v. drain ( ..) ) ;
569571
570572 merged
@@ -575,12 +577,13 @@ fn ordermap_merge_shuffle(b: &mut Bencher) {
575577fn remove_ordermap_100_000 ( b : & mut Bencher ) {
576578 let map = OMAP_100K . clone ( ) ;
577579 let mut keys = Vec :: from_iter ( map. keys ( ) . cloned ( ) ) ;
578- weak_rng ( ) . shuffle ( & mut keys) ;
580+ let mut rng = SmallRng :: from_entropy ( ) ;
581+ keys. shuffle ( & mut rng) ;
579582
580583 b. iter ( || {
581584 let mut map = map. clone ( ) ;
582585 for key in & keys {
583- map. remove ( key) . is_some ( ) ;
586+ map. remove ( key) ;
584587 }
585588 assert_eq ! ( map. len( ) , 0 ) ;
586589 map
0 commit comments