From a89ad7a2654d69fc89254e09f97ae115ecfa8f46 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 13 Jun 2021 10:27:59 -0600 Subject: [PATCH] add queue-reset method to PBD::TimingStats --- libs/pbd/pbd/timing.h | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/libs/pbd/pbd/timing.h b/libs/pbd/pbd/timing.h index 7f9f26d0e3..42bc90649f 100644 --- a/libs/pbd/pbd/timing.h +++ b/libs/pbd/pbd/timing.h @@ -131,19 +131,32 @@ public: void update () { - Timing::update (); - calc (); + if (_queue_reset) { + reset (); + } else { + Timing::update (); + calc (); + } } /* interval computed externally */ void update (uint64_t interval) { - Timing::update (interval); - calc (); + if (_queue_reset) { + reset (); + } else { + Timing::update (interval); + calc (); + } + } + + void queue_reset () { + _queue_reset = true; } void reset () { + _queue_reset = 0; Timing::reset (); _min = std::numeric_limits::max(); _max = 0; @@ -203,6 +216,7 @@ private: double _avg; double _vm; double _vs; + int _queue_reset; }; class LIBPBD_API TimerRAII