文档章节

精确计时MSVC

梦想游戏人
 梦想游戏人
发布于 2015/10/30 09:47
字数 115
阅读 58
收藏 1

硬件内部计时器精度 US级别

#include<iostream>
#include "functional"
#include "windows.h"
using namespace std;

#include <WinBase.h>  



long long calculateMS(std::function<void()> processFunc)
{
	long long _value;
	LARGE_INTEGER freq, _start, _end;
	QueryPerformanceFrequency(&freq);
	QueryPerformanceCounter(&_start);

	processFunc();

	QueryPerformanceCounter(&_end);
	_value = (_end.QuadPart - _start.QuadPart) * 1000 / freq.QuadPart;

	return _value;
}



long long calculateUS(std::function<void()> processFunc)
{
	long long _value;
	LARGE_INTEGER freq, _start, _end;
	QueryPerformanceFrequency(&freq);
	QueryPerformanceCounter(&_start);

	processFunc();

	QueryPerformanceCounter(&_end);
	_value = (_end.QuadPart - _start.QuadPart) *1000*1000 / freq.QuadPart;

	return _value;
}


int main(int argc, char *argv[])
{
	printf("%d us\r\n\n", calculateUS([=]()
	{
		int a[9999];
		for (int i = 0; i != 9999; i++)
		{
			a[i] = i;

		}
	}));















	system("pause");
	return 0;
}


© 著作权归作者所有

梦想游戏人
粉丝 38
博文 445
码字总数 127977
作品 0
成都
私信 提问
MOOC Python语言程序设计(第3周)3

time库 是Python中处理时间的标准库。 计算机时间的表达 提供获取系统时间并格式化输出功能 提供系统级精确计时功能,用于程序性能分析 三类: 时间获取:time() ctime() gmtime() 时间...

beautyjingjing
2018/04/19
0
0
Android采用handler实现计时功能时出现问题

项目需求计时功能,要求精确到10ms级别。我采用Timer结合Handler进行设计的,用一个TextView控件timeTextView显示时间,一个Button控件startButton开始计时,一个Button控件stopButton结束计...

小灰灰Blog
2013/10/13
2.2K
1
GPU编程(三): CPU与GPU的矩阵乘法对比

目录 前言 代码 计时函数 最后 前言 在上一篇的最后, 我提到了一个矩阵乘法, 这次与CPU进行对比, 从中可以很明显GPU在并行计算上的优势. 计时函数 include include include define w 1000 st...

Sorrower丶
01/21
0
0
使用高级定时器测量代码时间

本文我们将学习如何使用高级定时器来准确测量短周期事件的处理。 衡量一个应用程序性能的常规做法是关键位置或瓶颈的地方放置计时代码,然后用优化前后的代码执行时间来反应执行效率。现在有...

ShawnFeng
2013/06/26
522
0
C语言中常用计时方法总结

转载 http://blog.csdn.net/fzywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:timet time(timet * timer) 功能:返回以格林尼治时间(GMT)为标准...

kcyyc007
2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《生活的难题》的读后感3600字范文

《生活的难题》的读后感3600字范文: 假如我们对丑的事物也能够像对待美的事物那般抱持一种开放、接纳的心态,拥有相同的感受力,那么我们便会发现它们都是充满意义的,而这种认识会使生活变...

原创小博客
13分钟前
1
0
Linux learn(四)

7. Linux磁盘与文件系统管理 文件系统通常会将数据放在不同的区块,权限与属性放置到inode中,至于实际数据则放到datab lock区块中,另外,还有一个超级区块(superblock)会记录整个文件系统...

lazy~
20分钟前
1
0
微信公众号开发(四)

微信公众号开发时常需要一个用户授权绑定的过程。关于微信公众号的用户绑定,一般有如下两种实现方式: (1)通过发送短信验证码的方式; (2)使用用户登录时,向后端传递openid的方式。 使...

织梦之魂
今天
3
0
设计模式-工厂模式

工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端...

HOT_POT
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部