class Timer {
private:
std::chrono::time_point<std::chrono::high_resolution_clock>m_StartTimepoint;
public:
Timer() {
m_StartTimepoint = std::chrono::high_resolution_clock::now();
}
void Stop() {
auto EndTimepoint = std::chrono::high_resolution_clock::now();
auto start = std::chrono::time_point_cast<std::chrono::microseconds>(m_StartTimepoint).time_since_epoch().count();
auto end = std::chrono::time_point_cast<std::chrono::microseconds>(EndTimepoint).time_since_epoch().count();
auto duration = (end - start) * 0.001;
std::cout << (end - start) << "us" << "("<<duration << "ms)" << std::endl;
}
~Timer() {
Stop();
}
};
将以上代码写在要计时的代码作用域中,作用域结束,这个计时的类也会销毁,输出运行时间。
int value=0;
{
Timer timer;
for (int i = 0; i < 10000; i++)
value+=2;
}
std::cout << value << std::endl;
标签:std,chrono,auto,StartTimepoint,Timer,代码运行,时间,time From: https://www.cnblogs.com/wangkaixin-yy/p/17773333.html