在VC中如何计算一个算法使用时间
我想将计算一个算法(就是运行代码的时间)使用的时间,显示在Edit中,能不能精确点的,大家给看看,先谢了.
[解决办法]
用TimeGetTime函数,在运行算法前获取时间(记录到变量),再在算法运行后TimeGetTime记录到另外一个变量,然后2个变量相减就可以,精确到毫秒。
[解决办法]
gettickcount
[解决办法]
在算法之前调用 DWORD dStart = GetTickCount();
之后调用一下 DWORD dEnd = GetTickCount();
dEnd - dStart就是时间,获得的时间是milliseconds
[解决办法]
1. GetTickCount or timeGetTime以毫秒为单位。
2. 精确计时:QueryPerformanceFrequency and QueryPerformanceCounter。
LARGE—INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfMinus, dfFreq, dfTim;
QueryPerformanceFrequency(&litmp);
// 获得计数器的时钟频率
dfFreq = (double)litmp.QuadPart;
QueryPerformanceCounter(&litmp);
// 获得初始值
QPart1 = litmp.QuadPart;
//Sleep(100) ; //操作
QueryPerformanceCounter(&litmp);
// 获得终止值
QPart2 = litmp.QuadPart;
dfMinus = (double)(QPart2 - QPart1);
dfTim = dfMinus / dfFreq;
// 获得对应的时间值
[解决办法]
你可以使用VC6的Profile功能
菜单Build-> Profile