[ Home | Programming Tips | Mail ]
Macintoshで高精度に経過時間を測定するのには TickCount()(1/60秒 Timer)を使うのが昔からの方法ですが、大昔のマシン速度に比べ 100倍以上高速化した現状では全く精度が足りません。
Microseconds()は Time Managerと同程度の約 20μ秒の精度があります。68K Macでは充分な精度ですが、PowerMacでは Microseconds()自体 68K Emulationで動くこともあって overheadが大きく充分な精度も期待できません。
PowerPC Processorには時間測定に使う registerが用意されていますが、Processorの種類で機構が異なるため全ての(特に今後の)PowerPC Processorで正しく動く方法を実装するのは至難の技です。
そこで私は Open Transportに用意されている Time Stamp Utility OTGetTimeStamp()を利用しています。これには次の利点があります。
ElapsedTime.hqx
この Pageは MacOS X + Radio UserLand で作っています。