如何定位專案效能問題
阿新 • • 發佈:2020-12-19
技術標籤:測試
當遇到效能問題時,我們該怎麼辦?
分治策略
1.首先我們應將整個專案細分成多個模組
2.測試每一個模組的效能,找出每一個模組的問題,分而治之
3.每一個模組的效能都解決了,那麼整合到一起的專案效能問題舊解決了
如何GetTickCount測試單個介面的呼叫時間?
1.系統API
GetTickCount(); //時間解析度大概15ms~16ms
2.#include <time.h>
clock(); //時間解析度大概1ms
如何記錄測試資料?
1.直接呼叫VS提供的OutputDebugString()輸出至VS的Output視窗
2.寫入檔案
測試案例程式碼
例一:輸出至VS Output視窗
void TimeTest(wchar_t* pstr, BOOL bBegin)
{
TCHAR szBuf[256] = {0};
DWORD dTime = clock();
bBegin ?
wsprintfW(szBuf,L"%s:,Begin: %d\r\n",pstr,dTime):
wsprintfW(szBuf,L"%s:,End : %d\r\n",pstr,dTime);
OutputDebugString(szBuf);
}
例二:寫入檔案
void TestLocalTime(const TCHAR* pstr, BOOL bBegin)
{
TCHAR szBuf[MAX_PATH] = { 0 };
DWORD dTime = clock();
bBegin ?
wsprintfW(szBuf, L"%s:,Begin: %d\r\n", pstr, dTime) :
wsprintfW(szBuf, L"%s:,End : %d\r\n", pstr, dTime);
FILE *pfile = NULL;
pfile = fopen("C:\\test\\1.txt" , "ab");
if (!pfile)
return;
int len = wcslen(szBuf);
fwrite(szBuf, sizeof(TCHAR), wcslen(szBuf), pfile);
fclose(pfile);
}