CLOCK_MONOTONIC似乎不可用,所以clock_gettime已经用完了.
我在某些地方读过,mach_absolute_time()可能是正确的方法,但在阅读之后它是一个'cpu依赖值',它立即让我想知道它是否在下面使用rtdsc.因此,即使它是单调的,该值也可能随时间漂移.此外,线程关联性问题可能会导致调用函数产生有意义的不同结果(使其在所有内核中不是单调的).
当然,这只是猜测.有谁知道mach_absolute_time实际上是如何工作的?我实际上正在寻找clock_gettime的替代品(CLOCK_MONOTONIC ......或类似于OSX的东西.无论时钟源是什么,我都期望至少毫秒精度和毫秒精度.
我只想了解哪些时钟可用,哪些时钟是单调的,如果某些时钟漂移,有线程亲和性问题,所有Mac硬件都不支持,或者执行"超高"数量的cpu周期.
以下是我能够找到关于这个主题的链接(一些已经死链接,但在archive.org上找不到):
https://developer.apple.com/library/mac/#qa/qa1398/_index.html http://www.wand.net.nz/~smr26/wordpress/2009/01/19/monotonic-time-in -mac-os-x / http://www.meandmark.com/timing.pdf
谢谢!布雷特
这个问题的灵感来自于Linux是否为应用程序提供了单调递增的时钟.
也许我应该更精确:我正在寻找一个严格增加的时钟功能,因此永远不会返回相同的值,独立于两个呼叫相互跟随的速度.