C++性能查看方便类
struct PerformanceCheck
{
public:
PerformanceCheck(const QString & message) :m_Message(message)
{
m_Start = clock();
}
~PerformanceCheck()
{
m_End = clock();
qDebug() << m_Message << (long)((double)(m_End - m_Start) / (double)(CLOCKS_PER_SEC)* 1000.0);
}
private:
clock_t m_Start;
clock_t m_End;
QString m_Message;
};
#define PerformanceOutput//是否启用性能时长输出
#ifdef PerformanceOutput
#define CONSUMING_OUTPUT(a) PerformanceCheck c(a)
#else
#define CONSUMING_OUTPUT(a)
#endif
使用方式:
{
CONSUMING_OUTPUT(QStringLiteral("时间轴页面构造时长:"));
CTimeAxisWidget * timeAxis = new CTimeAxisWidget();
m_CallBack[TimeAxis] = timeAxis;
contentsWidget->insertWidget(TimeAxis, timeAxis);
}
PerformanceCheck对象在超出作用域之后析构 输出时长信息

浙公网安备 33010602011771号