28

我正在将一个库从 Windows 移植到 *NIX(当前为 OSX),现在有没有人可以使用什么函数来代替 Microsoft 的 QueryPerformanceCounter 和 QueryPerformanceFrequency?

4

5 回答 5

29

在 OSX上mach_absolute_timemach_timebase_info是 Win32 QueryPerformance* 函数的最佳等效项。

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

于 2011-05-12T20:29:57.270 回答
6

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

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

分辨率应约为+10Mhz。

于 2009-01-21T10:10:03.770 回答
5

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

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

这些天我会使用std::chrono::high_resolution_clock; 例子

于 2009-01-21T10:31:52.883 回答
2

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

AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())
于 2009-12-12T04:33:17.753 回答
-3

回到过去,您要么拥有 uclock,要么深入研究汇编程序来阅读RDTSC

G。

于 2009-01-21T10:11:40.943 回答