From aa3c2a58b2309250632b442a0cb9e6ff486755e7 Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Wed, 14 Mar 2018 12:29:52 +0100 Subject: [PATCH] Remove the time dependency where possible (#8100) --- Cargo.toml | 1 - src/lib.rs | 12 +++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e184f66..00597eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,5 +4,4 @@ version = "0.1.0" authors = ["Parity Technologies "] [dependencies] -time = "0.1.34" log = "0.3" diff --git a/src/lib.rs b/src/lib.rs index 3848135..e9566e7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,11 +16,10 @@ //! Performance timer with logging -extern crate time; #[macro_use] extern crate log; -use time::precise_time_ns; +use std::time::Instant; #[macro_export] macro_rules! trace_time { @@ -33,7 +32,7 @@ macro_rules! trace_time { /// elapsed time in the destructor or when `stop` is called. pub struct PerfTimer { name: &'static str, - start: u64, + start: Instant, } impl PerfTimer { @@ -41,13 +40,16 @@ impl PerfTimer { pub fn new(name: &'static str) -> PerfTimer { PerfTimer { name, - start: precise_time_ns(), + start: Instant::now(), } } } impl Drop for PerfTimer { fn drop(&mut self) { - trace!(target: "perf", "{}: {:.2}ms", self.name, (precise_time_ns() - self.start) as f32 / 1000_000.0); + let elapsed = self.start.elapsed(); + let ms = elapsed.subsec_nanos() as f32 / 1_000_000.0 + + elapsed.as_secs() as f32 * 1_000.0; + trace!(target: "perf", "{}: {:.2}ms", self.name, ms); } }