Я переношу библиотеку из Windows в * NIX (в настоящее время OSX), кто-нибудь теперь может использовать какую-либо функцию вместо Microsoft QueryPerformanceCounter и QueryPerformanceFrequency?
Что эквивалентно Windows QueryPerformanceCounter на OSX?
Ответ 1
http://www.tin.org/bin/man.cgi?section=3&topic=clock_gettime (и другие функции, упомянутые там) - Это Posix! Попадет обратно в худшие счетчики, если HPET не существует. (не должно быть проблемой, хотя)
http://en.wikipedia.org/wiki/High_Precision_Event_Timer
Разрешение должно быть около + 10 МГц.
Ответ 2
В OSX mach_absolute_time
и mach_timebase_info
являются лучшими эквивалентами функций Win32 QueryPerformance *.
См. http://developer.apple.com/library/mac/#qa/qa1398/_index.html
Ответ 3
Попробуйте увеличить ptime для переносного времени с высоким разрешением.
Обновить (подсказка, спустя 2 года, Отметьте комментарий ниже):
В эти дни я бы использовал std::chrono::high_resolution_clock
; пример.
Ответ 4
Он спросил о OS X. Используйте эти API из CoreAudio:
AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())
Ответ 5
В тот же день, когда у вас был либо uclock, либо вы перешли на ассемблер, чтобы прочитать RDTSC.
G.