1 #ifndef CRYPTOPP_HRTIMER_H 2 #define CRYPTOPP_HRTIMER_H 5 #ifndef HIGHRES_TIMER_AVAILABLE 11 #ifdef HIGHRES_TIMER_AVAILABLE 12 typedef word64 TimerWord;
14 typedef clock_t TimerWord;
21 enum Unit {SECONDS = 0, MILLISECONDS, MICROSECONDS, NANOSECONDS};
23 : m_timerUnit(unit), m_stuckAtZero(stuckAtZero), m_started(
false)
24 , m_start(0), m_last(0) {}
26 virtual TimerWord GetCurrentTimerValue() =0;
27 virtual TimerWord TicksPerSecond() =0;
30 double ElapsedTimeAsDouble();
31 unsigned long ElapsedTime();
34 double ConvertTo(TimerWord t, Unit unit);
37 bool m_stuckAtZero, m_started;
38 TimerWord m_start, m_last;
48 TimerWord GetCurrentTimerValue();
49 TimerWord TicksPerSecond();
56 Timer(Unit unit = TimerBase::SECONDS,
bool stuckAtZero =
false) :
TimerBase(unit, stuckAtZero) {}
57 TimerWord GetCurrentTimerValue();
58 TimerWord TicksPerSecond();
Library configuration file.
Crypto++ library namespace.
measure CPU time spent executing instructions of this thread (if supported by OS) ...