哪个时钟最好计算CLOCK_REALTIME CLOCK_MONOTONIC中的开始时间结束时间

时间:2015-07-31 13:57:17

标签: c linux

我想通过获取开始时间和结束时间来计算特定函数所经过的时间,然后计算它们之间的差异。

我对两个时钟CLOCK_REALTIMECLOCK_MONOTONIC感到困惑。哪一个能给我正确的时间值(秒,纳秒或毫秒)?

1 个答案:

答案 0 :(得分:2)

所以CLOCK_MONOTONIC是从过去一些未定义的时间点开始经过的时间(对于linux我认为这是启动时间)。

然而,

CLOCK_REALTIME本质上是计算机对当前现实世界时间的解释。因此,此时间根据您的计算机内部时钟而变化;如果您手动更改机器的时间,CLOCK_REALTIME将会更改。

因此,CLOCK_MONOTONIC最适合查找经过时间的任务。但是,由于它计算了从某个任意时间点开始经过的时间,您可能需要在函数的开头和结尾保存CLOCK_MONOTONIC值并减去它们以确定经过的时间。