Monotoniczny zegar w OSX

CLOCK_MONOTONIC nie wydaje się być dostępny, więc clock_gettime jest wyłączony.

Czytałem w niektórych miejscach, że mach_absolute_time () może być właściwym sposobem, ale po przeczytaniu, że jest to „wartość zależna od procesora”, natychmiast zastanowiłem się, czy używa on rtdsc poniżej. Zatem wartość może dryfować z czasem, nawet jeśli jest monotoniczna. Ponadto problemy z powinowactwem do wątku mogą spowodować znaczące różnice w wynikach wywołania funkcji (co sprawia, że ​​nie jest monotoniczna we wszystkich rdzeniach).

Oczywiście to tylko spekulacje. Czy ktoś wie, jak działa mach_absolute_time? Właściwie szukam zamiennika do clock_gettime (CLOCK_MONOTONIC ... lub czegoś podobnego dla OSX. Bez względu na to, jakie jest źródło zegara, oczekuję co najmniej milisekundowej precyzji i milisekundowej dokładności.

Chciałbym po prostu zrozumieć, jakie zegary są dostępne, które zegary są monotoniczne, jeśli niektóre zegary dryfują, mają problemy z powinowactwem do wątków, nie są obsługiwane na wszystkich urządzeniach Mac lub wykonują „super wysoką” liczbę cykli procesora do wykonania.

Oto linki, które udało mi się znaleźć na ten temat (niektóre są już martwe i nie można ich znaleźć na 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

Dzięki! Brett

questionAnswers(3)

yourAnswerToTheQuestion