iOS 5.1.1 (4s) でいくつかのビデオ設定のパフォーマンスをテストするために、このボイラープレートを使用しています。
static mach_timebase_info_data_t sTimebaseInfo = { 0, 0 };
if ( sTimebaseInfo.denom == 0 ) {
kern_return_t err = mach_timebase_info(&sTimebaseInfo);
if (err) {
NSLog(@"unable to get mach timebase info: %d",err);
}
}
uint64_t start = mach_absolute_time();
uint64_t end;
uint64_t elapsed;
uint64_t elapsedNano;
// stuff
end = mach_absolute_time();
// Calculate the duration.
elapsed = end - start;
elapsedNano = elapsed * sTimebaseInfo.numer;
elapsedNano /= sTimebaseInfo.denom;
ただし、mach_timebase_info が実行された後でも、sTimebaseInfo.denom は常に 0 です。エラーは発生しません。私はそれをどうするかわかりません。:)ナノ秒単位で値を取得することは必須ではありません。明らかに、なしで結果を比較できます。でもきっといいでしょう。
ヘルプ?:)