Монотонные часы на OSX

CLOCK _MONOTONIC не кажется доступным, поэтому время получения clock _истекло.

Я читал в некоторых местах, что мах _абсолютное _время ()может быть правильным путем, но после прочтения, что это «зависимое от процессора значение», я сразу же задумался, использует ли он rtdsc внизу. Таким образом, значение может дрейфовать со временем, даже если оно является монотонным. Кроме того, проблемы с привязкой к потокам могут привести к существенно отличающимся результатам от вызова функции (, что сделает ее немонотонной для всех ядер ).

Конечно, это всего лишь предположение. Кто-нибудь знает, как на самом деле работает мах _абсолютное _время? На самом деле я ищу замену clock _gettime (CLOCK _MONOTONIC... или что-то подобное для OSX. Независимо от источника часов, я ожидаю, по крайней мере, миллисекундной точности и миллисекундной точности.

Я просто хотел бы понять, какие часы доступны, какие часы являются монотонными, если некоторые часы дрейфуют, имеют проблемы с привязкой потоков, не поддерживаются на всем оборудовании Mac или требуют «сверхвысокого» количества циклов процессора для выполнения.

Вот ссылки, которые мне удалось найти по этой теме (некоторые из них уже мертвы, и их нельзя найти на 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

Спасибо! Бретт

22
задан Brett 27 July 2012 в 01:56
поделиться