为了用一种特定的方法发现性能猪,我经常做这样的事情:

// 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;
}


这使我可以发现哪些代码行花费的时间超出了必要。但是,它需要修改代码,并且在存在分支逻辑时可能会很麻烦。

是否有最有效的方法对特定方法进行这种微观分析?

最佳答案

尝试使用XCode的内置Profiler。在它拥有的工具中,有一个时间分析器。选中此link for a nice tutorial on how to use it

10-08 12:25