国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

分享一個性能統(tǒng)計的簡單封裝類

2019-11-10 17:59:19
字體:
供稿:網(wǎng)友

在查找問題,優(yōu)化性能時,不免用到GetTickCount來統(tǒng)計函數(shù)耗時。

不斷的

DWord tick_beg = GetTickCount();

DWORD tick_end = GetTickCount();

DWORD tick_span = tick_end - tick_beg;

著實麻煩

簡單地封裝了一下。

主要提供的接口是

 AutoTick tick(__FUNCTIONW__);

利用作用域在對象析構時自動計算打印。

/********************************************************************created:	2016/11/11file   :	autotick.hauthor :	tulipwiki   :   purpose:	統(tǒng)計性能耗時            主要由析構計算,            GetCurrentConsume:  獲取對象構造到當前的耗時            GetLastConsume:    獲取上次計算時間點到當前時間點的耗時 *********************************************************************/#ifndef _AUTO_TICK_H_#define _AUTO_TICK_H_class AutoTick {public:    AutoTick(LPTSTR tip) { tip_ = tip; begin_ = GetTickCount(); last_tick_ = begin_;  }    AutoTick() { AutoTick(L"");}    ~AutoTick() {        end_ = GetTickCount();        DWORD span = end_ - begin_;        TCHAR str[1024] = { 0 };        _itow_s(span, str, 1024, 10);        std::wstring strout(L" span:/t/t");        std::wstring tip = tip_ + strout + str + std::wstring(L"/r/n");        OutputDebugString(tip.c_str());    }    // 獲取當前的耗時(當前 - 構造)    DWORD GetCurrentConsume(LPTSTR flag = NULL) {        DWORD tick_curr = GetTickCount() - begin_;        if (flag != NULL) {            TCHAR str[1024] = { 0 };            _itow_s(tick_curr, str, 1024, 10);            std::wstring strout(L"Contrust Consume:/t/t");            std::wstring tip = flag + strout + str + std::wstring(L"/r/n");            OutputDebugString(tip.c_str());        }        return tick_curr;    }    DWORD GetCurrentConsume(int index) {        TCHAR ach[64] = { 0 };        _itot_s(index, ach, 10);        GetCurrentConsume(ach);    }    // 獲取距離上次計時的耗時(當前 - 上次)    DWORD GetLastConsume(LPTSTR flag = NULL) {        DWORD curr_tick = GetTickCount();             DWORD tick_span = last_tick_ - curr_tick;        if (flag != NULL) {            TCHAR str[1024] = { 0 };            _itow_s(tick_span, str, 1024, 10);            std::wstring strout(L"Last Consume:/t/t");            std::wstring tip = flag + strout + str + std::wstring(L"/r/n");            OutputDebugString(tip.c_str());        }        last_tick_ = curr_tick;        return tick_span;    }    DWORD GetLastConsume(int index) {        TCHAR ach[64] = { 0 };        _itot_s(index, ach, 10);        return GetLastConsume(ach);    }    DWORD begin_;    DWORD end_;    DWORD last_tick_;    std::wstring tip_;};#endif
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 明光市| 巩义市| 晋中市| 太湖县| 察雅县| 隆安县| 阿鲁科尔沁旗| 太谷县| 贡山| 霍州市| 阿合奇县| 东安县| 黄大仙区| 炉霍县| 都安| 营山县| 恩平市| 宁都县| 三河市| 容城县| 理塘县| 五家渠市| 禄丰县| 社旗县| 普兰县| 红桥区| 延津县| 泽普县| 沙湾县| 筠连县| 徐闻县| 商丘市| 黔东| 永川市| 洪江市| 乌审旗| 牡丹江市| 石景山区| 临沂市| 临湘市| 中西区|