程序参考《深入应用C++11 代码优化与工程级应用》,使用high_resolution_clock实现计时器,在测试程序性能时会用到,测试程序的耗时。
high_resolution_clock:
高精度时钟,时钟类的成员,提供对当前time_point的访问。
high_resolution_clock 是间隔周期最短的时钟。它可能是system_clock或steady_clock的别名。
time_point表示一个时间点,用来获取从它的clock的纪元开始所经过的时间(比如1970.1.1以来的时间间隔)和当前的时间。
#ifndef TIME_HPP
#define TIME_HPP
#include <chrono>
using namespace std;
using namespace std::chrono;
class MyTimer{
public:
MyTimer(){
m_begin = high_resolution_clock::now();
m_end = m_begin;
}
void reset()
{
m_begin = high_resolution_clock::now();
m_end = m_begin;
}
void end()
{
this->m_end = high_resolution_clock::now();
}
//默认输出毫秒
template<typename Duration=milliseconds>
int64_t elapsed() const
{
return duration_cast<Duration>(this->m_end - m_begin).count();
}
//微妙
int64_t elapsed_micro() const{
return elapsed<microseco

文章介绍了如何在C++中使用`high_resolution_clock`实现高性能计时器,通过`MyTimer`类展示了如何测量不同时间单位(毫秒、微秒、纳秒、秒、分钟和小时)的程序执行时间。
最低0.47元/天 解锁文章
9876

被折叠的 条评论
为什么被折叠?



