c++ 准确计时_C++精确计时
本文首先通过QueryPerformanceFrequency获取高精度计时器的时钟频率,然后通过两次调用QueryPerformanceCounter获取高精度计时器的差值,最后以差值除以时钟频率获取精确计时。
但要注意,时钟频率及计时器的值均为LONGLONG类型,需转换为double后才能计算精确的秒数。
以下为代码:
LARGE_INTEGER frequency;
LARGE_INTEGER start;
LARGE_INTEGER stop;
QueryPerformanceFrequency(&frequency); //获取计时器的时钟频率
QueryPerformanceCounter(&start); //获得计数器初始值
Sleep(10); //耗时操作(暂停10ms)
QueryPerformanceCounter(&stop); //获得计数器终止值
const auto interval = static_cast(stop.QuadPart - start.QuadPart);
const auto timeSpanSecond = interval / frequency.QuadPart; //获取秒数
const auto timeSpanMillisecond = timeSpanSecond * 1000.0; //获取毫秒数
std::cout << "Sleep(10) takes " << timeSpanMillisecond << "ms." << std::endl;
下面为结果:
c++ 准确计时_C++精确计时相关推荐
- 【实战】使用 Web Animations API 实现一个精确计时的时钟
在 JavaScript 中,当事情准时发生时,很自然地会想到使用计时器函数. 但是,当某件事由于其他事情依赖于它而在准确的时刻发生时,你很快就会发现计时器会存在一个不准时的问题.而本文所要介绍的 W ...
- windows下的C/C++精确计时
由于我要测试线性筛法的速度,用上了C/C++精确计时.此时传统的clock()方法不够用了,我们需要另一种测量的办法,即CPUTicks/CPUFreq.如何实现呢? #include <win ...
- 单片机0 10秒计时C语言,基于单片机的秒,分,时的精确计时实现
这个学期接触到了单片机,算是个微处理机,是把计算机的部分功能集成化了的.在生活中随处可见:想厨房用的电磁炉内就集成了单片机的控制,客厅挂的数字万年历也是用单片机实现的!经过了解后,我对此产生了极大的兴 ...
- C# Stopwatch实现精确计时
C#中的Stopwatch类位于Diagnostics空间下,其功能主要是实现对程序运行的精确计时,它的用法比较简单,精确度也很高. 比如当我们写爬虫程序时可以用来计算爬虫爬取的时间:可以用来比较一些 ...
- c语言怎么自动计时,C语言精确计时方法
精确获取时间: QueryPerformanceFrequency() -基本介绍 类型:Win32API 原型:BOOL QueryPerformanceFrequency(LARGE_INTEGE ...
- python精确计时_PYTHON在WINDOWS下高精度计时的体会
2011-02-23 14:51:19 其实也是WINDOWS下的通用办法啦,只不过我用PYTHON表达. 用win32api.GetSystemTime()不是太精确,值15毫秒才变一下,最好用ti ...
- python 计时_python运行计时
广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 下面这段程序截取自python high performanceprogra ...
- c语言中五子棋怎么计时,五子棋如何计时
五子棋是起源于中国上古时代的传统黑白棋种之一.下面学习啦小编给你介绍五子棋如何计时,欢迎阅读. 五子棋计时的方法 1. 比赛时限:比赛时限可分为包干制和加秒制(即FISHER制)两种.不论采用何种时限 ...
- python time模块计时_python中计时模块timeit的使用方法
timeit 模块定义了接受两个参数的 Timer 类.两个参数都是字符串. 第一个参数是你要计时的语句或者函数. 传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句. 从内部讲, ...
最新文章
- git add . 之后 想执行回滚操作(git add 到本地仓库的代码回滚到没有add 之前的操作)
- Exchange2007 中Send as 与Send on behalf of 讲解
- 一文读懂比特币UXTO,TA其实没那么神秘!
- 网络丢包问题排查总结
- PSR-2 代码风格规范
- python 学习笔记二 搭建ftp服务器
- git进入项目目录 windows_Windows下Git 怎么整个文件夹目录上传到代码仓库(不论GitHub、GitLab、Gitee、DevCloud)...
- ES6 学习笔记 (1)
- 面向对象-属性查找与绑定方法
- JCam2 v1.6.0 USB摄像头工具全新发布及使用详解
- 学习笔记Android弹框material-dialogs
- 4A 统一安全管理平台解决方案。
- 大疆精灵4多光谱无人机P4M影像辐射定标方法(二)
- SuperSocket实战---使用SuperSocket的FixedHeaderReceiveFilter进行通信
- 网络设备配置与管理(华为)基础系列 20190307
- 代码是如何编译成程序的?
- Linux用户和用户组的管理
- Android MessageQueue 底层实现(C++)
- VC++获取CPU的名称、主频和核数(附源码)
- Pr 入门教程:如何调整肤色?
热门文章
- SQLite 表达式(http://www.w3cschool.cc/sqlite/sqlite-expressions.html)
- Web Service 一些对外公开的网络服务接口以及http://www.webxml.com.cn/zh_cn/index.aspx
- linux共享xp打印机驱动下载,给debian共享winxp下的打印机
- 【pytorch】model.train和model.eval用法及区别详解
- BM39 序列化二叉树
- 贝叶斯、先验估计、后验估计、最大似然估计、最大后验估计
- 阿里云物联网平台专题讲座
- leetcode笔记:Search in Rotated Sorted Array
- FMDB/SQLCipher数据库管理
- myisam表锁及锁粒度调节