23 struct WallclockTimerState {
24 std::chrono::time_point<clock_used> m_start_time;
25 std::chrono::time_point<clock_used> m_end_time;
26 bool m_is_running{
false};
30 : m_state(new WallclockTimerState)
38 m_state->m_start_time = clock_used::now();
44 m_state->m_end_time = clock_used::now();
51 ? std::chrono::duration_cast<duration_unit>(clock_used::now() -
m_state->m_start_time)
52 : std::chrono::duration_cast<duration_unit>(
m_state->m_end_time
55 return (
double)diff.count();
std::chrono::high_resolution_clock clock_used
std::chrono::seconds duration_unit
Defines WallclockTimer class.
double runTime() const
Returns run time in sec.
std::unique_ptr< WallclockTimerState > m_state