社区
C++ Builder
帖子详情
GetTickCount()和clock()函数计时哪个更准确些!
payne
2001-07-19 08:38:46
我在用GetTickCount()和clock()函数测试同一段代码所执行的时间长度时,发现前者为
2ms,而用后者测试为9ms,并且用同一函数在不同时间测试时得出的结果相差甚远。有没有什么好方法解决一下。是不是只有求助硬件了,可我在C++Builder下访问不到8253呀!
...全文
978
2
打赏
收藏
GetTickCount()和clock()函数计时哪个更准确些!
我在用GetTickCount()和clock()函数测试同一段代码所执行的时间长度时,发现前者为 2ms,而用后者测试为9ms,并且用同一函数在不同时间测试时得出的结果相差甚远。有没有什么好方法解决一下。是不是只有求助硬件了,可我在C++Builder下访问不到8253呀!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alanwang
2001-07-19
打赏
举报
回复
用这个吧,包你满意,我已测试过。
利用计算机中的8253,8254可编程时间间隔定时器芯片实现的。在计算机内部有三个独立的16位计数器。计数器可以以二进制或二—十进制(BDC)计数。计数器每秒产生1193180次脉冲,每次脉冲使计数器的数字减一,产生频率是可变的,用QueryPerformanceFrequency可以得到,一般情况下都是 1193180。QueryPerformanceCounter可以得到当前的计数器值。所以只要你的计算机够快, 理论上精度可以达到1/1193180秒。
QueryPerformanceFrequency(&litmp); // 获得计数器的时钟频率
dfFreq=(double)litmp.QuadPart;
// 延迟 MilliSecond 毫秒 ,大于x毫秒而与之最接近的毫秒数,精度预计0.02ms以上
void __fastcall TMainForm1::QuerySleep(float MilliSecond)
{
QueryPerformanceCounter(&litmp); // 获得初始值
QPart1=litmp.QuadPart;
do
{
QueryPerformanceCounter(&litmp); // 获得终止值
QPart2=litmp.QuadPart;
dfMinus=(double)(QPart2-QPart1);
dfTim=dfMinus/dfFreq; // 时间差
}while(dfTim<(MilliSecond/1000));
}
yphy
2001-07-19
打赏
举报
回复
当然是GetTickCount()更精确,因为它是多媒体时间,其实还有更精确的是timeGetTime()
yphy
springboot测试实例(JUnit 5 + SpringBootTest + MockMvc + H2 + Mockito).rar
springboot测试实例(JUnit 5 + SpringBootTest + MockMvc + H2 + Mockito).rar本文件为https://andyy.blog.csdn.net/article/details/160367956?spm=1011.2415.3001.5331博客所对应的源代码文件,适合新手小白入门学习
全域GEO智能推广系统 企业线上获客源码
全域GEO智能推广系统 企业线上获客源码 多平台排名优化搭建
工艺管道支架标准图集.rar
工艺管道支架标准图集.rar
单片式离合器(用于轿车、卡车等)solid edge.rar
单片式离合器(用于轿车、卡车等)solid edge.rar
FDTD方法中的完美匹配层(PML)研究(Matlab代码实现)
内容概要:本文系统梳理了多个科研领域的前沿研究与技术实现,重点涵盖FDTD方法中的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真与算法实现。文中列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化算法(如粒子群、遗传算法、深度学习等)提升系统性能。同时,提供了丰富的代码资源与仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务分配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验与创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真中的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计与优化算法中的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,
更
强调代码实现与仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试与二次开发,以达到学以致用、融会贯通的目的。
C++ Builder
13,874
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章