C++实现计算程序运行时间 高精度

程序改自http://zhidao.baidu.com/question/57378776.html

其它参考http://www.vckbase.com/document/viewdoc/?id=1301

 

对于精确度要求更高的定时操作,应该使用QueryPerformanceFrequency()和 QueryPerformanceCounter()函数。这两个函数是仅供Windows 95及其后续版本使用的精确时间函数,并要求计算机从硬件上支持精确定时器。

 

示例:

[cpp]  view plain copy
  1. #include <iostream>   
  2. #include <windows.h>   
  3. using namespace std;   
  4.   
  5. void Test()//测试程序  
  6. {  
  7.     for(int i=0; i<1000; i++)  
  8.     {     
  9.         for(int j=0; j<100; j++)  
  10.         {  
  11.             printf("%d,%d/n",i,j);  
  12.         }     
  13.     }  
  14. }  
  15.   
  16. int main(void)   
  17. {   
  18.     LARGE_INTEGER BegainTime ;   
  19.     LARGE_INTEGER EndTime ;   
  20.     LARGE_INTEGER Frequency ;   
  21.     QueryPerformanceFrequency(&Frequency);   
  22.     QueryPerformanceCounter(&BegainTime) ;   
  23.   
  24.     //要测试的代码放在这里   
  25.     Test();  
  26.   
  27.     QueryPerformanceCounter(&EndTime);  
  28.   
  29.     //输出运行时间(单位:s)   
  30.     cout << "运行时间(单位:s):" <<(double)( EndTime.QuadPart - BegainTime.QuadPart )/ Frequency.QuadPart <<endl;   
  31.   
  32.     system("pause") ;   
  33.     return 0 ;   
  34. }   

你可能感兴趣的:(cpp)