1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use std::time::{SystemTime, UNIX_EPOCH};
mod binary_heap;
mod btree_map;
mod btree_set;
mod hash_map;
mod hash_set;
mod vec;
pub fn now_milli() -> u128 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
.as_millis()
}
#[macro_export]
macro_rules! measure {
($name:literal, $iterations:expr, $it:block) => {
let before = $crate::benchmarks::now_milli();
$it;
let after = $crate::benchmarks::now_milli();
println!(
"{} {} iterations: {} ms",
stringify!($name),
$iterations,
after - before
);
};
}