]> git.lizzy.rs Git - rust.git/commitdiff
Add print_time helper
authorAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 25 Jan 2020 10:59:11 +0000 (11:59 +0100)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 25 Jan 2020 10:59:11 +0000 (11:59 +0100)
crates/ra_prof/src/lib.rs

index da541005a1bb2dc0567d2a35fd320bebbe1a72ba..c7973ddf43efe9ef78b892c127011074ba4b0caa 100644 (file)
@@ -106,6 +106,21 @@ pub fn profile(desc: &str) -> Profiler {
     })
 }
 
+pub fn print_time(desc: &str) -> impl Drop + '_ {
+    struct Guard<'a> {
+        desc: &'a str,
+        start: Instant,
+    }
+
+    impl Drop for Guard<'_> {
+        fn drop(&mut self) {
+            eprintln!("{}: {:?}", self.desc, self.start.elapsed())
+        }
+    }
+
+    Guard { desc, start: Instant::now() }
+}
+
 pub struct Profiler {
     desc: Option<String>,
 }