Quel est l'équivalent du QueryPerformanceCounter de Windows sur OSX?

je transfère une bibliothèque de Windows à * NIX( actuellement OSX), est-ce que quelqu'un peut maintenant quelle fonction puis-je utiliser à la place de QueryPerformanceCounter et QueryPerformanceFrequency de Microsoft?

27
demandé sur Patrick Cuff 2009-01-21 12:43:47

5 réponses

http://www.tin.org/bin/man.cgi?section=3&topic=clock_gettime (et les autres fonctions mentionnées) - C'est Posix! Retombera à des compteurs plus mauvais si HPET n'existe pas. (ne devrait pas être un problème cependant)

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

La résolution

doit être d'environ +10Mhz.

6
répondu Ronny Brendel 2009-01-21 10:16:33

Sur OSX mach_absolute_time et mach_timebase_info sont les meilleurs équivalents Win32 QueryPerformance* les fonctions.

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

27
répondu Justicle 2011-05-12 20:29:57

Essayer de boost ptime portatif de haute résolution de timing.

mise à jour (incité, 2 ans plus tard, par le commentaire de Mark ci-dessous):

de nos jours, j'utilise un std::chrono::high_resolution_clock ; exemple .

5
répondu timday 2012-04-13 17:47:54

il a demandé à propos de OS X. Utilisez ces API de CoreAudio:

AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())
2
répondu Chris Reed 2009-12-12 04:33:17

à l'époque, vous aviez soit uclock, soit vous aviez lu en assembleur le RDTSC .

G.

-3
répondu graham.reeds 2009-01-21 10:11:40