What's the equivalent of Windows' QueryPerformanceCounter on OSX?

27,779

Solution 1

http://www.tin.org/bin/man.cgi?section=3&topic=clock_gettime (and the other functions mentioned there) - it's Posix! Will fall back to worse counters if HPET is not existent. (shouldn't be a problem though)

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

Resolution should be about +10Mhz.

Solution 2

On OSX mach_absolute_time and mach_timebase_info are the best equivalents to Win32 QueryPerformance* functions.

See http://developer.apple.com/library/mac/#qa/qa1398/_index.html

Solution 3

Try boost's ptime for portable high-resolution timing.

Update (prompted, 2 years on, by Mark's comment below):

These days I'd use a std::chrono::high_resolution_clock ; example.

Solution 4

He asked about OS X. Use these APIs from CoreAudio:

AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())
Share:
27,779
Paolo
Author by

Paolo

Updated on April 14, 2020

Comments

  • Paolo
    Paolo about 4 years

    I'm porting a library from Windows to *NIX (currently OSX), does anyone now what function can I use instead of Microsoft's QueryPerformanceCounter and QueryPerformanceFrequency?