1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include "Timer.h"
#include <iostream>
Timer::Timer() : m_msg(nullptr), m_steps(1)
{
}
void Timer::start(const char * msg)
{
m_msg = msg;
time = std::chrono::system_clock::now();
}
void Timer::setSteps(int steps)
{
m_steps = steps;
}
long double Timer::stop()
{
auto delta = std::chrono::system_clock::now() - time;
long double us = std::chrono::duration_cast<std::chrono::duration<long double, std::micro>>(delta / m_steps).count();
std::cout << m_msg << ": " << us << " us" << std::endl;
return us;
}
long double Timer::restart(const char * msg)
{
long double us = stop();
start(msg);
return us;
}
|