1 use time_crate as time;
3 pub fn report_time<Out, F: FnOnce() -> Out>(name: &str, f: F) -> Out {
4 let start = time::now();
5 println!("starting {}", name);
7 println!("done {} - took: {}", name, (time::now() - start));
11 pub fn measure<Out, F: FnOnce() -> Out>(f: F) -> (Out, time::Duration) {
12 let start = time::now();
14 (res, time::now() - start)
22 impl Default for Timer {
23 fn default() -> Self {
29 pub fn new() -> Timer {
30 Timer { start: time::now() }
33 pub fn restart(&mut self) {
34 self.start = time::now();
37 pub fn report_passed_ms(&self) {
38 println!("{}ms", (time::now() - self.start).num_milliseconds());
41 pub fn get_passed_ms(&self) -> i64 {
42 (time::now() - self.start).num_milliseconds()