C++11之前,往往可以通过clock()来计算时间间隔,但是它的精度ms,一般可以满足,但是C++11提供了更高精度的
这里写个简单的类来实现
#pragma once
#include <chrono>
class ElapsedTimer
{
public:
ElapsedTimer() : m_begin(std::chrono::high_resolution_clock::now()) {}
void reset() { m_begin = std::chrono::high_resolution_clock::now(); }
//ns
int64_t elapsed_ns() const
{
return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - m_begin).count();
}
//us
int64_t elapsed_us() const
{
return std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::high_resolution_clock::now() - m_begin).count();
}
//ms
int64_t elapsed_ms() const
{
return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - m_begin).count();
}
//s
int64_t elapsed_s() const
{
return std::chrono::duration_cast<std::chrono::seconds>(std::chrono::high_