#include<chrono>
-----------------------------------------1--------------------------------------------
std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();//开始时间
============
do something
============
std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();//结束时间
std::chrono::duration<double> during = std::chrono::duration_cast<std::chrono::duration<double> >(end - start);//时间差
std::cout.setf(std::ios::fixed);//设定输出格式
std::cout << std::endl << "optimazition is " << std::fixed << std::setprecision(3)//保留三位精度
<< during.count() * 1000 << " ms" << std::endl;//将计数器的微秒转为毫秒,并保留显示小数点后三位
-----------------------------------------2-------------------------------------------
start = std::chrono::system_clock::now();
============
do something
============
end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds = end - start;
return elapsed_seconds.count() * 1000;
-----------------------------------3 构建一个通用的类-----------------------------------
class TicToc
{
public:
TicToc()
{
tic();
}
void tic()
{
start = std::chrono::system_clock::now();
}
double toc()
{
end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds = end - start;
return elapsed_seconds.count() * 1000;
}
private:
std::chrono::time_point<std::chrono::system_clock> start, end;
};