在网上找了好久,发现Linux 各种时间函数:
gettimeofday() 能精确到准us(微秒)级,具体的精度跟内核有关.
clock_gettime()能精确到准ns(纳秒)级,经测试,该函数自身的开销一般是几十ns,不过怎么也比gettimeofday()的精度更高了。
还有使用内联汇编取cpu 的计数器,并且跟具体的cpu相关,并且在SMP系统上不准,不是很实用
本文探讨了在Linux系统中如何进行精准计时,对比了gettimeofday()和clock_gettime()函数在精度上的差异,前者能精确到微秒级,后者则能达到纳秒级。同时提到了内联汇编获取CPU计数器的方法,但因CPU频率自调节和多核系统线程切换问题,这种方法可能存在局限性。times()函数和读取CPU时间戳的内联汇编方法也在讨论范围内。
在网上找了好久,发现Linux 各种时间函数:
gettimeofday() 能精确到准us(微秒)级,具体的精度跟内核有关.
clock_gettime()能精确到准ns(纳秒)级,经测试,该函数自身的开销一般是几十ns,不过怎么也比gettimeofday()的精度更高了。
还有使用内联汇编取cpu 的计数器,并且跟具体的cpu相关,并且在SMP系统上不准,不是很实用
1299
1939

被折叠的 条评论
为什么被折叠?