使用C++获取逻辑执行毫秒数的方法
作者:llxtxwd
这篇文章主要为大家详细介绍了如何使用C++获取逻辑执行毫秒数的方法,文中借助c++11提供的steady_clock,实现了精确获取逻辑执行时间的方法,需要的可以参考下
借助c++11提供的steady_clock
,实现了精确获取逻辑执行时间的方法,原理:当前时间 - 开始时间。
工具类文件Timer.h:
#pragma once #include <chrono> using namespace std::chrono; // 记录执行代码消耗时间 class Timer { public: Timer() :m_begin(steady_clock::now()) {}; // 初始化列表 void reset() { m_begin = steady_clock::now(); }; // 重置当前时间 // 默认输出毫秒,如果函数逻辑简单建议使用微秒 long long cost() const { return duration_cast<std::chrono::milliseconds>(steady_clock::now() - m_begin).count(); } // 微秒 long long cost_micro() const { return duration_cast<std::chrono::microseconds>(steady_clock::now() - m_begin).count(); } // 秒 long long cost_seconds() const { return duration_cast<std::chrono::seconds>(steady_clock::now() - m_begin).count(); } private: time_point<steady_clock> m_begin; };
包含工具头文件就可以使用了:
#include"Timer.h" Timer timer; // 构造Timer对象,同时记录当前时间 Case1(); // 需要获取执行时间的逻辑 cout << "cost1 = "<< timer.cost(); // 得出执行时间 timer.reset(); // 重置初始时间 Case2(); // 另一个需要获取执行时间的逻辑 cout << "cost2 = "<< timer.cost(); // 得出执行时间
以上就是使用C++获取逻辑执行毫秒数的方法的详细内容,更多关于C++获取逻辑执行毫秒数的资料请关注脚本之家其它相关文章!