程序计时方法

发的是以前的东西,但愿给初学者有点用,其实我也是初学者

 

/* *文件名: 程序计时函数——clock *摘要: 获取程序运行时间,以毫秒为单位 *作者: ltc *版本: V1.0 *变更日期: *变更内容: *完成时间:2010-5-4 */ #include <iostream> #include <time.h> using namespace std; int main() { clock_t nTimeStart; //计时开始 clock_t nTimeStop; //计时结束 nTimeStart = clock(); // for(int i = 0; i < 2147483647; i++); nTimeStop = clock(); // cout <<"2147483647次空循环耗时:"<<(double)(nTimeStop - nTimeStart)/CLOCKS_PER_SEC<<"秒"<< endl; system("pause"); return 0; } /* 知识补充: 1. typedef long clock_t 2. clock_t clock(void) 返回从“开启这个程序进程”到“程序中调用clock()函数”时 之间的CPU时钟计时单元(clock tick)数 3. CLOCKS_PER_SEC 用来表示一秒钟会有多少个时钟计时单元,其定义如下: #define CLOCKS_PER_SEC ((clock_t)1000) 4. 局限性:最小精度1毫秒 */  

 

/* *文件名: 程序计时函数——QueryPerformanceFrequency QueryPerformanceCounter *摘要: 获取程序运行时间,以微妙为单位 *作者: ltc *版本: V1.0 *变更日期: *变更内容: *完成时间:2010-5-4 */ #include <iostream> #include <windows.h> using namespace std; int main() { LARGE_INTEGER costTime, start, end; QueryPerformanceFrequency ( &costTime); //获取每秒多少CPU Performance Tick QueryPerformanceCounter ( &start); // 获取CPU运行到现在的Tick数 for(int i = 0; i < 100; i++); QueryPerformanceCounter ( &end); // 获取CPU运行到现在的Tick数 cout<<"100次空循环:"<<(end.QuadPart - start.QuadPart) / (double)(costTime.QuadPart)<<endl; system("pause"); return 0; } /* 知识补充: 1. LARGE_INTEGER 2. QueryPerformanceFrequency 和 QueryPerformanceCounter */  

你可能感兴趣的:(Integer,System,performance,2010)