• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

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

OC/C/C++ 水墨上仙 1590次浏览

有很多时候为了测试效率问题,我们需要对时间的精确掌控,mfc给我们封装的时间函数就满足不了我们的需求了。
这时候需要使用下面两个函数
BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
  BOOL QueryPerformanceCounter (LARGE_INTEGER *lpCount);
第一个函数:返回硬件支持的高精度计数器的频率。
第二个函数:得到高精度计时器的值

其使用过程也是相当的简单
来源:http://blog.csdn.net/midle110/article/details/8068014

#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;
}


喜欢 (0)
加载中……