1 //! Compare `insert` and `insert_unique_unchecked` operations performance. 2 3 #![feature(test)] 4 5 extern crate test; 6 7 use hashbrown::HashMap; 8 use test::Bencher; 9 10 #[bench] insert(b: &mut Bencher)11fn insert(b: &mut Bencher) { 12 let keys: Vec<String> = (0..1000).map(|i| format!("xxxx{}yyyy", i)).collect(); 13 b.iter(|| { 14 let mut m = HashMap::with_capacity(1000); 15 for k in &keys { 16 m.insert(k, k); 17 } 18 m 19 }); 20 } 21 22 #[bench] insert_unique_unchecked(b: &mut Bencher)23fn insert_unique_unchecked(b: &mut Bencher) { 24 let keys: Vec<String> = (0..1000).map(|i| format!("xxxx{}yyyy", i)).collect(); 25 b.iter(|| { 26 let mut m = HashMap::with_capacity(1000); 27 for k in &keys { 28 m.insert_unique_unchecked(k, k); 29 } 30 m 31 }); 32 } 33