C++ 测试时间函数
2013-12-03 13:26
274 查看
测试一段代码,或者一个函数是写完代码后经常要做的事。
我习惯的写东西的顺序是:
测试代码 --> 伪代码 --> 实际代码--> 更加高效的版本 -->带输入输出控制检测,出错验证的代码 -->更加灵活的版本
下面列举下常用的时间测试方法:
1. 版本
[cpp] viewplaincopy
clock_t start = clock();
clock_t end = clock();
cout<<end - start<<endl;
大家多这个版本多半不会陌生,这应该是最常用的执行时间测试方法了,能精确到ms级。
2.版本
[cpp] viewplaincopy
LARGE_INTEGER frec;
LARGE_INTEGER strt;
LARGE_INTEGER ed;
QueryPerformanceFrequency(&frec);
QueryPerformanceCounter(&strt);
QueryPerformanceCounter(&ed);
cout<<(ed.QuadPart-strt.QuadPart)*1000/frec.QuadPart<<endl;
这个是针对于特定的平台的测试,有时候我们需更高的精度测试时,往往需要用到这个测试,其中frec记录的是CPU每秒的频率,使用QueryPerformanceFrequency()查询。然后分别测试代码开始处的时钟数和结束处得时钟数。最后,相减除以每秒的频率就得到执行时间。*1是秒数,*1000是毫秒数,*1000000 是微妙数,*1000 000 000是ns数。
注意添加头文件:windows.h
我习惯的写东西的顺序是:
测试代码 --> 伪代码 --> 实际代码--> 更加高效的版本 -->带输入输出控制检测,出错验证的代码 -->更加灵活的版本
下面列举下常用的时间测试方法:
1. 版本
[cpp] viewplaincopy
clock_t start = clock();
clock_t end = clock();
cout<<end - start<<endl;
大家多这个版本多半不会陌生,这应该是最常用的执行时间测试方法了,能精确到ms级。
2.版本
[cpp] viewplaincopy
LARGE_INTEGER frec;
LARGE_INTEGER strt;
LARGE_INTEGER ed;
QueryPerformanceFrequency(&frec);
QueryPerformanceCounter(&strt);
QueryPerformanceCounter(&ed);
cout<<(ed.QuadPart-strt.QuadPart)*1000/frec.QuadPart<<endl;
这个是针对于特定的平台的测试,有时候我们需更高的精度测试时,往往需要用到这个测试,其中frec记录的是CPU每秒的频率,使用QueryPerformanceFrequency()查询。然后分别测试代码开始处的时钟数和结束处得时钟数。最后,相减除以每秒的频率就得到执行时间。*1是秒数,*1000是毫秒数,*1000000 是微妙数,*1000 000 000是ns数。
注意添加头文件:windows.h
相关文章推荐
- C++::如何测试一个函数的运行时间
- C++中使用clock()函数测试程序时间
- 测试一个函数的运行时间(C++)
- C和C++中函数运行时间测试
- C++中使用clock()函数测试程序时间
- C++测试系统当前时间
- C/C++时间函数使用方法介绍(2)
- C++中的时间函数
- c++读写文件和测试程序运行时间的例子
- C/C++时间函数的使用
- c++获取windows时间的函数(转)
- c++ 程序时间运算 函数;
- C/C++中时间处理函数
- CCS5.5环境下使用clock()函数测试程序段运行时间
- 【总结】C++静态成员函数及测试用例
- oprofile 使用步骤 测试程序中各函数运行时间
- C++获取时间函数
- C++调用Python函数,获取Ping某网站的延迟时间与丢包率
- VC程序运行时间测试函数
- 关于标准c++ 利用clock()函数计算时间为负值原因及解决