时尚购物,北京印刷公司,高齐
之前由于想统计代码中每个模块加载时长,因此写了一个模块加载时长统计类,使用起来也是超级方便,只需要定义一个宏即可
使用方式如下:
void func() { consuming_output("classname"); }
void func() { ... { //funcation code consuming_output("code"); } ... }
class a() { ... consuming_output("a life time"); }
//性能查看方便类代码如下
#include <time.h> #include <windows.h> #include <iostream> struct performancecheck { public: performancecheck(const std::wstring & message) :m_message(message) { m_start = clock(); } ~performancecheck() { m_end = clock(); wchar_t str[1024]; wsprintf(str, l"%s:%d\n", m_message.c_str(), (long)((double)(m_end - m_start) / (double)(clocks_per_sec)* 1000.0)); #ifdef _debug outputdebugstring(str); #else rlbase::writeprogramlognomask(str); #endif // debug } private: clock_t m_start; clock_t m_end; std::wstring m_message; }; #define performanceoutput //是否启用性能输出 #ifdef performanceoutput #define consuming_output(a) performancecheck c(a) #else #define consuming_output(a) #endif
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论