使用方式如下:
1、统计函数性能
void func()
{
CONSUMING_OUTPUT("className");
}
2、统计函数中某个模块加载时长
void func()
{
...
{
//funcation code
CONSUMING_OUTPUT("code");
}
...
}
3、统计类的存活时长
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
很重要--转载声明
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。