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对象在超出作用域之后析构  输出时长信息

posted @ 2016-09-02 12:02  朝十晚八  阅读(112)  评论(0)    收藏  举报

返回顶部