有时候需要测试某段代码的运行时间,在Windows平台下可以尝试以下几种方法:
方法一 利用GetTickCount函数(ms)
代码:VC/MFC中计算程序运行时间
AfxMessageBox(str);
方法四 利用GetLocalTime类 获取系统时间
代码:
SYSTEMTIME st;AfxMessageBox(strTime);
方法五 利用计数器QueryPerformanceFrequency,QueryPerformanceCounter测试代码执行时间
代码:
LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfMinus, dfFreq, dfTim;
QueryPerformanceFrequency(&litmp); //计数器的时钟频率
dfFreq = (double)litmp.QuadPart;
QueryPerformanceCounter(&litmp); //初始值
QPart1 = litmp.QuadPart;
plugin_init(); //测试代码
AfxMessageBox(_T("ddd")); //测试代码
int plugin_process(void* _pData); // 测试代码
QueryPerformanceCounter(&litmp); //中止值
QPart2 = litmp.QuadPart;
dfMinus = (double)(QPart2 - QPart1);
dfTim = dfMinus / dfFreq;
CString strrr;
strrr.Format("%f", dfTim*1000000);
strrr += "微秒";
total = strrr;
plugin_exit();
SetDlgItemText(IDC_EDIT2, total);
AfxBeginThread(Thread1,this,THREAD_PRIORITY_IDLE);