c++ 获取操作的精确时间
来源:互联网 发布:外资银行招聘条件 知乎 编辑:程序博客网 时间:2024/05/16 01:24
有很多时候为了测试效率问题,我们需要对时间的精确掌控,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;}
可以看到,我们平时认为的sleep()函数并不是精确的,
其实sleep()函数受到cpu的影响,但是他的大约值是100ms,所以我们用的时候还是可以放心的
- c++ 获取操作的精确时间
- C/C++获取精确到微秒级的系统时间
- c/c++ 获取时间, 精确到毫秒
- 比较精确的获取的时间消耗
- 更精确的获取时间的方法
- VC获取精确时间的做法
- VC获取精确时间的方法
- 获取精确毫秒的时间间隔
- VC获取精确时间的做法
- VC获取精确时间的做法
- 获取精确到微秒的系统时间
- windows下C语言获取精确到毫秒的时间的几个接口的测试
- 精确获取时间(QueryPerformanceCounter)
- 获取精确时间
- 获取精确时间
- QueryPerformanceFrequency精确获取时间
- C/C++获取系统时间戳,精确到毫秒
- WINDOWS 时间获取与精确时间获取
- UVa 11044 - Searching for Nessy
- Do-178B中软件等级定义
- 百度最新面试
- 腾讯,创新工场,淘宝等公司最新面试
- 星图F
- c++ 获取操作的精确时间
- 最值得一看的几条简单的谷歌 Google 搜索技巧,瞬间提升你的网络搜索能力!
- php 操作XML
- listIterator(int index)方法
- 100个Java经典例子(1-10)初学者的利器高手的宝典JavaSE
- 构造函数与析构函数的调用时间顺序
- android单元测试 配置注意
- 《2》 Linux远程连接工具SecureCRT
- opengl学习小笔记(1)设置小细节+小问题解决