1. 程式人生 > 其它 >如何定位專案效能問題

如何定位專案效能問題

技術標籤:測試

當遇到效能問題時,我們該怎麼辦?
分治策略
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); }