C 在时钟\实时时钟\单调时钟中,哪种时钟最适合计算开始时间和结束时间

C 在时钟\实时时钟\单调时钟中,哪种时钟最适合计算开始时间和结束时间,c,linux,C,Linux,我想通过获取开始时间和结束时间来计算特定函数经过的时间,然后计算它们之间的差值 我把这两个时钟混淆了CLOCK\u REALTIME和CLOCK\u monotic。以下哪一项将以任何单位(秒、纳秒或毫秒)给出正确的时间值?因此CLOCK\u monotic是自过去某个未定义的时间点(对于linux,我相信这是引导时间)以来经过的时间 然而,时钟实时本质上是计算机对当前现实世界时间的解释。因此,这个时间会根据计算机的内部时钟而变化;如果手动更改机器的时间,CLOCK\u REALTIME将更改

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


我把这两个时钟混淆了
CLOCK\u REALTIME
CLOCK\u monotic
。以下哪一项将以任何单位(秒、纳秒或毫秒)给出正确的时间值?

因此
CLOCK\u monotic
是自过去某个未定义的时间点(对于linux,我相信这是引导时间)以来经过的时间

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

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