特定の方法でパフォーマンスの豚を発見するために、私はしばしば次のようなことをします:
// Some line of code
LogTimeInterval();
// Some other line of code
LogTimeInterval();
// Some other line of code
LogTimeInterval();
は次LogTimeInterval
のように定義されます。
void LogTimeInterval()
{
static NSDate *_previousDate;
static NSInteger _counter = 0;
NSDate *date = [NSDate date];
if (!_previousDate) {
_previousDate = date;
}
NSLog(@"LINE %d: %f", _counter++, [_previousDate timeIntervalSinceDate:date]);
_previousDate = date;
}
これにより、必要以上に時間がかかっているコード行を見つけることができます。ただし、コードを変更する必要があり、分岐ロジックがある場合は煩雑になる可能性があります。
特定のメソッドについて、このミクロレベルの分析を行う最も効率的な方法はありますか?