1 use time_crate as time;
4 pub fn report_time<Out, F: FnOnce() -> Out>(name: &str, f: F) -> Out {
5 let start = time::now();
6 println!("starting {}", name);
8 println!("done {} - took: {}", name, (time::now() - start));
13 pub fn measure<Out, F: FnOnce() -> Out>(f: F) -> (Out, time::Duration) {
14 let start = time::now();
16 (res, time::now() - start)
27 pub fn new() -> Timer {
28 Timer { start: time::now() }
32 pub fn restart(&mut self) {
33 self.start = time::now();
37 pub fn report_passed_ms(&self) {
38 println!("{}ms", (time::now() - self.start).num_milliseconds());
42 pub fn get_passed_ms(&self) -> i64 {
43 (time::now() - self.start).num_milliseconds()