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
32
33
use std::time::{SystemTime, UNIX_EPOCH};

mod btree_map;
mod btree_set;
mod certified_map;
mod hash_map;
mod hash_set;
mod log;
mod vec;

#[ignore]
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::benches::now_milli();
        $it;
        let after = $crate::benches::now_milli();

        println!(
            "{} {} iterations: {} ms",
            stringify!($name),
            $iterations,
            after - before
        );
    };
}