| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

c++ 获取操作的精确时间

有很多时候为了测试效率问题,我们需要对时间的精确掌控,mfc给我们封装的时间函数就满足不了我们的需求了。
这时候需要使用下面两个函数
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;  }