今天把老板交给的任务提交了,不过老板问我算法的运行时间,我只有对整个程序的运行时间做了统计,没有对核心算法进行计算运行时间。
我最初用的函数是timeGetTime(),该函数只能精确到ms,具体用法如下
#include <mmsystem.h>
DOWD begin, end;
begin = timeGetTime();
//你要计算的程序片断
end = timeGetTime();
CString strTime;
strTime.Format("%d",end - start);
最后在你的工程里面设置linker-input-Additional Dependencies 加上Winmm.lib
如果要显示微妙级的就不够用了,可以采用系统的计数器来实现。
LARGE_INTEGER frequency ;
QueryPerformanceFrequency(&frequency );
LARGE_INTEGER start, end;
QueryPerformanceCounter(&start);
//你要计算的程序片断
QueryPerformanceCounter(&end);
int time=( ((end.QuadPart - start.QuadPart) * 1000000)/frequency.QuadPart);
有用的链接:http://dev.csdn.net/develop/article/41/41104.shtm
http://dev.csdn.net/article/74/74169.shtm