mirror of
https://github.com/openharmony/third_party_rust_indexmap.git
synced 2026-07-21 03:55:23 -04:00
add benchmark for lookup
This commit is contained in:
@@ -186,3 +186,39 @@ fn iterate_orderedmap_10_000(b: &mut Bencher) {
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn lookup_hashmap_10_000(b: &mut Bencher) {
|
||||
let c = 10_000;
|
||||
let mut map = HashMap::with_capacity(c);
|
||||
let len = c - c/10;
|
||||
for x in 0..len {
|
||||
map.insert(x, ());
|
||||
}
|
||||
assert_eq!(map.len(), len);
|
||||
b.iter(|| {
|
||||
let mut found = 0;
|
||||
for key in 5000..15000 {
|
||||
found += map.get(&key).is_some() as i32;
|
||||
}
|
||||
found
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn lookup_orderedmap_10_000(b: &mut Bencher) {
|
||||
let c = 10_000;
|
||||
let mut map = OrderedMap::with_capacity(c);
|
||||
let len = c - c/10;
|
||||
for x in 0..len {
|
||||
map.insert(x, ());
|
||||
}
|
||||
assert_eq!(map.len(), len);
|
||||
b.iter(|| {
|
||||
let mut found = 0;
|
||||
for key in 5000..15000 {
|
||||
found += map.get(&key).is_some() as i32;
|
||||
}
|
||||
found
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user