From 10ca3474e67d53d3d1ec306dd2973d95043ba666 Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Tue, 31 May 2022 11:49:36 +0200 Subject: Make the`instant` dependency optional, behind a `profiler` cargo feature --- src/counters/timer.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/counters') diff --git a/src/counters/timer.rs b/src/counters/timer.rs index fd25063..bc0397d 100644 --- a/src/counters/timer.rs +++ b/src/counters/timer.rs @@ -4,6 +4,7 @@ use std::fmt::{Display, Error, Formatter}; #[derive(Copy, Clone, Debug, Default)] pub struct Timer { time: f64, + #[allow(dead_code)] // The field isn’t used if the `profiler` feature isn’t enabled. start: Option, } @@ -23,21 +24,30 @@ impl Timer { /// Start the timer. pub fn start(&mut self) { - self.time = 0.0; - self.start = Some(instant::now()); + #[cfg(feature = "profiler")] + { + self.time = 0.0; + self.start = Some(instant::now()); + } } /// Pause the timer. pub fn pause(&mut self) { - if let Some(start) = self.start { - self.time += instant::now() - start; + #[cfg(feature = "profiler")] + { + if let Some(start) = self.start { + self.time += instant::now() - start; + } + self.start = None; } - self.start = None; } /// Resume the timer. pub fn resume(&mut self) { - self.start = Some(instant::now()); + #[cfg(feature = "profiler")] + { + self.start = Some(instant::now()); + } } /// The measured time between the last `.start()` and `.pause()` calls. -- cgit