use griddle::HashMap as IncrHashMap;
use hashbrown::HashMap;
use std::time::{Duration, Instant};
const N: u32 = 1 << 22;
fn main() {
let mut hm = HashMap::new();
let mut mx = 0.0f64;
let mut sum = Duration::new(0, 0);
for i in 0..N {
let t = Instant::now();
hm.insert(i, i);
let took = t.elapsed();
mx = mx.max(took.as_secs_f64());
sum += took;
println!("{} hashbrown {} ms", i, took.as_secs_f64() * 1000.0);
}
eprintln!(
"hashbrown::HashMap max: {:?}, mean: {:?}",
Duration::from_secs_f64(mx),
sum / N
);
let mut hm = IncrHashMap::new();
let mut mx = 0.0f64;
let mut sum = Duration::new(0, 0);
for i in 0..N {
let t = Instant::now();
hm.insert(i, i);
let took = t.elapsed();
mx = mx.max(took.as_secs_f64());
sum += took;
println!("{} griddle {} ms", i, took.as_secs_f64() * 1000.0);
}
eprintln!(
"griddle::HashMap max: {:?}, mean: {:?}",
Duration::from_secs_f64(mx),
sum / N
);
}