社区
C++ Builder
帖子详情
GetTickCount()和clock()函数计时哪个更准确些!
payne
2001-07-19 08:38:46
我在用GetTickCount()和clock()函数测试同一段代码所执行的时间长度时,发现前者为
2ms,而用后者测试为9ms,并且用同一函数在不同时间测试时得出的结果相差甚远。有没有什么好方法解决一下。是不是只有求助硬件了,可我在C++Builder下访问不到8253呀!
...全文
873
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
C/C++获取(毫秒/微秒/纳秒级)系统时间差方法大全
总结了常用的四种方法。包括: 方法一 利用 SYSTEMTIME 方法二 利用 Get
Tick
Count
()
函数
方法三 使用
clock
()
函数
方法四 获取高精度时间差 个人感觉还是很清晰明了的。希望对大家有用。
c++利用windows
函数
实现
计时
示例
代码如下://Windows系统下可以用 time(),
clock
(),timeGetTime(),Get
Tick
Count
(),QueryPerformance
Count
er()来对一段程序代码进行
计时
#include <stdio>#include <windows>#include <time> //time_t time()
clock
_t
clock
() #include <Mmsystem> //timeGetTime() #pragma comment(lib, “Winmm.lib”
C++
计时
的几种方法说明及例程
1. 使用
clock
()
函数
;2. 使用time()
函数
;3. 使用Get
Tick
Count
()
函数
;4. 使用QueryFrequency
Count
()
函数
。
两种
计时
函数
详解(1.
clock
(); 2.get
Tick
Count
())
计时
函数
:
clock
(); get
Tick
Count
();
clock
函数
耗时计算不
准确
场景 当前使用
clock
()计算ffmpeg
函数
耗时,偶尔出现不
准确
的问题,相差有100多毫秒
clock
() measure the CPU time used by your process, not the wall-
clock
time. When you have multiple threads running simultaneously...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章