chrono使用
发布日期:2021-10-22 10:56:39 浏览次数:12 分类:技术文章

本文共 2198 字,大约阅读时间需要 7 分钟。

//timer.h#ifndef W_TIMER_H#define W_TIMER_H #include 
#include
#include
class Timer {public: Timer():_name("Time elapsed:") { restart(); } explicit Timer(const std::string &name):_name(name + ":") { restart(); } /** * 启动计时 */ inline void restart() { _start_time = std::chrono::steady_clock::now(); } /** * 结束计时 * @return 返回ms数 */ inline double elapsed(bool restart = false) { _end_time = std::chrono::steady_clock::now(); std::chrono::duration
diff = _end_time-_start_time; if(restart) this->restart(); return diff.count()*1000; } /** * 打印时间并重启计时器 * @param tip 提示 */ void rlog(const std::string &tip){ log(true,tip,true,false); } /** * 打印时间 * @param reset 输出之后是否重启计时器,true重启,false不重启 * @param unit_ms true是ms,false是s * @param tip 输出提示 * @param kill 输出之后是否退出程序,true退出,false不退出 */ void log(bool reset = false, const std::string &tip = "", bool unit_ms = true, bool kill = false ) { if (unit_ms) { if (tip.length() > 0) std::cout << tip+":" << elapsed() << "ms" << std::endl; else std::cout << _name << elapsed() << "ms" << std::endl; } else { if (tip.length() > 0) std::cout << tip+":" << elapsed() / 1000.0 << "s" << std::endl; else std::cout << _name << elapsed() / 1000.0 << "s" << std::endl; } if (reset) this->restart(); if (kill) exit(5); } private: std::chrono::steady_clock::time_point _start_time; std::chrono::steady_clock::time_point _end_time; std::string _name;}; // timer #endif //W_TIMER_H///chrono::steady_clock::time_point t1 = chrono::steady_clock::now();【某个耗时程序段】chrono::steady_clock::time_point t2 = chrono::steady_clock::now();chrono::duration
time_used = chrono::duration_cast
>(t2 - t1);cout << "time_used:" << time_used.count() << " 秒。" << endl;//

 

转载于:https://www.cnblogs.com/shaogang/p/10806947.html

转载地址:https://blog.csdn.net/weixin_30326745/article/details/95625544 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:touch命令的用法
下一篇:response.setHeader()的用法

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月16日 09时43分39秒