读书人

在VC中怎么计算一个算法使用时间

发布时间: 2012-01-12 22:11:58 作者: rapoo

在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

读书人网 >VC/MFC

热点推荐