在OSX上,Windows的QueryPerformanceCounter相当于什么?

时间:2009-01-21 09:43:47

标签: c++ c windows unix porting

我正在将一个库从Windows移植到* NIX(目前是OSX),现在是否有人可以使用哪种功能而不是Microsoft的QueryPerformanceCounter和QueryPerformanceFrequency?

5 个答案:

答案 0 :(得分:27)

在OSX上mach_absolute_timemach_timebase_info是Win32 QueryPerformance *函数的最佳等价物。

请参阅http://developer.apple.com/library/mac/#qa/qa1398/_index.html

答案 1 :(得分:7)

http://www.tin.org/bin/man.cgi?section=3&topic=clock_gettime (以及那里提到的其他功能) - 这是Posix!如果HPET不存在,将会回落到更糟糕的计数器。 (虽然不应该是个问题)

http://en.wikipedia.org/wiki/High_Precision_Event_Timer

分辨率应约为+ 10Mhz。

答案 2 :(得分:5)

尝试使用boost ptime进行便携式高分辨率计时。

更新(提示,2年后,Mark的评论如下):

这些天我用std::chrono::high_resolution_clock; example

答案 3 :(得分:2)

他询问了OS X.使用CoreAudio中的这些API:

AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())

答案 4 :(得分:-3)

回到那时你或者你已经钻研了汇编程序来阅读RDTSC

-G。