2012-11-27 44 views
0

尋找小的性能豬要發現性能比較豬在特定的方法,我經常做這樣的事情:在Objective-C

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

這讓我發現哪些代碼行比需要更多的時間。但是,它需要修改代碼,並且在存在分支邏輯時可能非常麻煩。

是否有一種最有效的方法來爲特定的方法進行這種微觀層次分析?

回答

2

嘗試使用XCode的內置Profiler。它包含的工具有時間分析器。勾選此link for a nice tutorial on how to use it

enter image description here

+0

有沒有辦法說我只是要檢查這個特定的方法是什麼? – hpique

+0

是的,看看教程。您只能附加特定進程的時間分析器。 – alemangui

+0

另外,您應該檢查時間分析器中的反彙編視圖,以便可以看到輸出除以方法。本教程提到它:http://volonbolon.net/post/897931352/tuning-performance-with-instruments – alemangui