为了账号安全,请及时绑定邮箱和手机立即绑定

在Linux中测量时间-时间vs时钟vs getrusage vs clock_gettime

在Linux中测量时间-时间vs时钟vs getrusage vs clock_gettime

杨魅力 2019-10-23 14:18:32
其中计时功能,time,clock getrusage,clock_gettime,gettimeofday和timespec_get,我想清楚地了解它们是如何实现的,为了知道在什么情况下我必须使用他们什么是他们的返回值。首先,我们需要对返回壁钟值的函数与返回进程或线程值的函数进行分类。gettimeofday返回壁钟值,clock_gettime返回壁钟值或进程或线程值,具体取决于Clock传递给它的参数。getrusage并clock返回过程值。然后,第二个问题涉及这些功能的实现以及结果的准确性。这些功能使用哪种硬件或软件机制。似乎getrusage仅使用内核滴答(通常为1ms),结果比ms更准确。这样对吗?然后,该getimeofday功能似乎使用了最准确的基础硬件。因此,其精度在最近的硬件上通常为微秒(由于API而不能更高)。关于什么的clock,这名男子页关于“逼近”说,这是什么意思?怎么回事clock_gettime,API只需十亿分之一秒,是否意味着如果底层硬件允许的话,它就能如此精确?单调呢?还有其他功能吗?
查看完整描述

3 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

对于Android用户,使用CLOCK_MONOTONIC可能会出现问题,因为该应用可能会随着时间的推移而被挂起。为此,Android添加了可通过ioctl访问的ANDROID_ALARM_ELAPSED_REALTIME计时器。有关这些信息以及其他与暂停相关的信息

查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 1168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信