相关疑难解决方法(0)

在Linux中测量时间 - 时间与时钟对比getrusage vs clock_gettime vs gettimeofday vs timespec_get?

其中计时功能,time,clock getrusage,clock_gettime,gettimeofdaytimespec_get,我想清楚地了解它们是如何实现的,为了知道在什么情况下我必须使用他们什么是他们的返回值.

首先,我们需要对返回wall-clock值的函数进行分类,与返回进程或线程值的函数进行比较.gettimeofday返回wall-clock值,clock_gettime返回wall-clock值进程或线程值,具体取决于Clock传递给它的参数.getrusageclock返回过程值.

然后第二个问题涉及这些功能的实施,因此,它们的准确性.这些功能使用哪种硬件或软件机制.

似乎getrusage只使用内核tick(通常为1ms长),因此不能比ms更准确.这样对吗?然后该getimeofday函数似乎使用最准确的底层硬件.因此,它的准确性通常是近期硬件上的微秒(因为API而不能更多).那么clock,手册页谈的是"近似",它是什么意思?那么clock_gettime,API是纳秒级,是否意味着如果底层硬件允许它,它能够如此准确?单调性怎么样?

还有其他功能吗?

c linux time linux-kernel

137
推荐指数
2
解决办法
6万
查看次数

标签 统计

c ×1

linux ×1

linux-kernel ×1

time ×1