c++ 获取操作的精确时间
2018-07-20 来源:open-open
有很多时候为了测试效率问题,我们需要对时间的精确掌控,mfc给我们封装的时间函数就满足不了我们的需求了。
这时候需要使用下面两个函数
BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
BOOL QueryPerformanceCounter (LARGE_INTEGER *lpCount);
第一个函数:返回硬件支持的高精度计数器的频率。
第二个函数:得到高精度计时器的值
这时候需要使用下面两个函数
BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
BOOL QueryPerformanceCounter (LARGE_INTEGER *lpCount);
第一个函数:返回硬件支持的高精度计数器的频率。
第二个函数:得到高精度计时器的值
#include <iostream> #include <windows.h> using namespace std; int main() { LARGE_INTEGER Frequency;//计数器频率 LARGE_INTEGER start_PerformanceCount;//起始计数器 LARGE_INTEGER end_PerformanceCount;//结束计数器 double run_time; //运行时间 QueryPerformanceFrequency(&Frequency); for (int i = 0 ; i < 10 ; ++i ) { QueryPerformanceCounter(&start_PerformanceCount); //运行测试的代码 Sleep(10); QueryPerformanceCounter(&end_PerformanceCount); run_time = ( end_PerformanceCount.QuadPart - start_PerformanceCount.QuadPart ) / (double)Frequency.QuadPart; cout<<run_time<<endl; } return 0; }
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐