Counter-based timers
Implement a Gaudi::Timer class that accumulates its statistics in a
Counter based on the ideas from @graven outlined in !762 (comment 1850572).
-
GenericTimeris a generic timer that can be templated with astd::chrono-compatible clock and a precision. A timing measurement is done via the RAII helper classScopeTimer. - The Timer can register itself with an owner using the dedicated constructor.
-
RdtscClockis a (non-walltime) clock based onrdtsc. Depending on the available CPU this can be significantly faster than the default clock. Run thetest_GaudiTimerunit tests for a measurement of the overhead of the various clocks. -
Gaudi/Timers.hprovides a defaultGaudi::Timerbased on wall-clock andGaudi::FastTimerbased on theRdtscClock.
Next steps:
- follow-up on a "Counter service" (issue #51) that can then serve as a replacement for the ChronoStatSvc
- add an instance of
Gaudi::Timerto the defaultAlgorithmbase-class
Edited by Frank Winklmeier