我正在将一个库从Windows移植到*NIX(目前是OSX),有人知道可以使用哪个函数来替代Microsoft的QueryPerformanceCounter和QueryPerformanceFrequency吗?
mach_absolute_time
和mach_timebase_info
是Win32 QueryPerformance*函数的最佳替代。详见http://developer.apple.com/library/mac/#qa/qa1398/_index.html。http://www.tin.org/bin/man.cgi?section=3&topic=clock_gettime (以及其他在此提到的函数) - 这是Posix标准!如果HPET不存在,将退回到更差的计数器。(不应该是问题)
http://en.wikipedia.org/wiki/High_Precision_Event_Timer
分辨率应该约为+10Mhz。
他询问了关于OS X的问题。可以使用CoreAudio中的这些API:
AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())
回到过去,你只能使用uclock或深入汇编语言来读取RDTSC。
G.
clock_gettime
是 POSIX 实时扩展的一部分,在 Mac OS X 上不幸没有实现。 - Left For Archive