为了以特定的方法发现性能猪,我经常做这样的事情:
// 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;
}
这使我能够发现哪些代码行花费了不必要的时间。但是,它需要修改代码,并且在有分支逻辑时会很麻烦。
是否有一种最有效的方法可以针对特定方法进行这种微观层面的分析?