simple_timer/
lib.rs

1/// ## Usage
2/// ```rust
3/// use simple_timer::timeit;
4/// 
5/// fn hello_world() {
6///     println!("hello world");
7/// }
8/// 
9/// fn main() {
10///     timeit!("time_1", hello_world());
11///     timeit!("time_two",
12///         {
13///             println!("great weather");
14///             println!("i agree");
15///         }
16///     );
17/// }
18/// ```
19#[macro_export]
20macro_rules! timeit {
21    ($t: literal, $x:expr) => {
22        {
23            use std::time::Instant;
24            let start = Instant::now();
25            let res = $x;
26            let end = start.elapsed();
27            println!("time({}) : {}.{:03}", $t, end.as_secs(), end.subsec_millis());
28            res
29        }
30    };
31}