测试函数运行时间

因为是使用了windows提供的api来取晶体钟的时间,所以需要添加头文件#include <windows.h>.

1. 开始计时的地方添加下面代码:

1     LARGE_INTEGER frequency, counterBegin, counterEnd;
2     __int64 timediff;
3     double dsec;
4     ::QueryPerformanceFrequency(&frequency);
5     ::QueryPerformanceCounter(&counterBegin);

2. 结束计时的地方添加下面代码:

 1     ::QueryPerformanceCounter(&counterEnd);
 2     FILE* pFile = fopen("d:\\elapsed_time.txt", "a+");
 3     if(pFile != NULL)
 4     {
 5         timediff = (__int64)counterEnd.QuadPart-(__int64)counterBegin.QuadPart;   
 6         QueryPerformanceFrequency(&frequency);   
 7         dsec = (double)timediff/(double)frequency.QuadPart;   
 8         fprintf(pFile,"%s: %d    %s():        %5f(second)\n",__FILE__, __LINE__, __FUNCTION__, dsec);
 9         fclose(pFile);
10     }

3. 到相关输出目录查找具体时间。 

 

 

posted @ 2014-02-28 13:04  t.travis  阅读(132)  评论(0)    收藏  举报