我试图理解由clock_gettime()和UNIX time命令测量的程序运行时间之间的巨大差异。该程序使用clock_gettime()来测量其总运行时间。它报告该程序所用的时间约为0.5秒。另一方面,时间命令报告实时和用户时间均小于0.06秒。 (系统时间约为0.006秒。)这种情况发生在不同的时钟ID上,clock_gettime()具有不同的时钟ID。 (到目前为止,我已经尝试了CLOCK_MONOTONIC,CLOCK_REALTIME和CLOCK_MONOTONIC_RAW。)我也尝试过不同的时间减法functions.这种差异发生在两台不同的Linux机器上并且始终可以重现。 clock_gettime()报告的时间和time命令匹配的时间相对较长。
有什么可能导致这种情况的想法?