1 #ifndef CRYPTOPP_HRTIMER_H 2 #define CRYPTOPP_HRTIMER_H 6 #if !defined(HIGHRES_TIMER_AVAILABLE) || (defined(CRYPTOPP_WIN32_AVAILABLE) && !defined(THREAD_TIMER_AVAILABLE)) 12 #ifdef HIGHRES_TIMER_AVAILABLE 13 typedef word64 TimerWord;
15 typedef clock_t TimerWord;
22 enum Unit {SECONDS = 0, MILLISECONDS, MICROSECONDS, NANOSECONDS};
24 : m_timerUnit(unit), m_stuckAtZero(stuckAtZero), m_started(
false)
25 , m_start(0), m_last(0) {}
27 virtual TimerWord GetCurrentTimerValue() =0;
28 virtual TimerWord TicksPerSecond() =0;
31 double ElapsedTimeAsDouble();
32 unsigned long ElapsedTime();
35 double ConvertTo(TimerWord t, Unit unit);
38 bool m_stuckAtZero, m_started;
39 TimerWord m_start, m_last;
50 TimerWord GetCurrentTimerValue();
51 TimerWord TicksPerSecond();
58 Timer(Unit unit = TimerBase::SECONDS,
bool stuckAtZero =
false) :
TimerBase(unit, stuckAtZero) {}
59 TimerWord GetCurrentTimerValue();
60 TimerWord TicksPerSecond();
Library configuration file.
Crypto++ library namespace.
Measure CPU time spent executing instructions of this thread (if supported by OS) ...