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)11 fn 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)23 fn 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