ライブラリを Windows から *NIX (現在は OSX) に移植していますが、Microsoft の QueryPerformanceCounter と QueryPerformanceFrequency の代わりに使用できる関数はありますか?
5 に答える
OSXでは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 です。
ポータブルな高解像度のタイミングについては、boost のptimeを試してください。
更新(以下のマークのコメントにより、2年後に促されました):
最近はstd::chrono::high_resolution_clock
;を使用します。例。
彼はOSXについて質問しました。CoreAudioの次のAPIを使用してください。
AudioConvertHostTimeToNanos(AudioGetCurrentHostTime())
昔は、 uclock を持っていたか、アセンブラーを掘り下げてRDTSCを読んでいました。
G.