前回はLeaksについて書きましたが、今回はTime Profilerについてまとめます。
TImeProfilerはシステムの中でどこの処理に時間(リソース)をつかっているかを可視化し、チューニングを行うためのツールです。
![スクリーンショット(2011-03-01 9.18.53) 実行 -> パフォーマンスツールを使って実行 -> TimeProfiler](http://blog.elearning.co.jp/wp-content/uploads/2011/03/98f5753662b5edd89af16a7c3fc3c87d-580x368.png)
実行 -> パフォーマンスツールを使って実行 -> TimeProfiler
前回のLeaks同様に実行しましょう。実行と同時にiPhoneシミュレータも起動します。(ユーザごとの設定によります)
私は、シミュレータではなく実機で使っています。実は、iPhone3GSはあまりNSUserDefaultsを連続して呼ぶとフリーズしていまうというバグ(?)があり、TimeProfilerでみて処理を変えた経験から、テストは常に実機です。
![スクリーンショット(2011-03-01 9.19.10) 起動初期の画面](http://blog.elearning.co.jp/wp-content/uploads/2011/03/f5e286f0b278d1ec14422904c5b01b9c-580x422.png)
起動初期の画面
![スクリーンショット(2011-03-01 9.19.27) 画面左のcall Treeペイン](http://blog.elearning.co.jp/wp-content/uploads/2011/03/7b29cc0e647a528fb87989381cb31067.png)
画面左のcall Treeペイン
起動初期画面左の中くらいの位置にある、CallTreeのチェックボックスは図のようにするといいでしょう。こうしておけば、System Libなどは表示されず調整しやすくなります。後は、iPhoneアプリをぐりぐりと動かしてみてください。
![スクリーンショット(2011-03-01 9.19.56)](http://blog.elearning.co.jp/wp-content/uploads/2011/03/988a88373c5b1b0d2f0faf6c95f6a0b2-580x352.png)
処理に時間がかかっている場所がグラフィカルに可視化される
このように、同一クラス内で処理に時間の掛かっている部分の割合が表示されてます!!(ちなみに、上の画面は関数名をダブルクリックすると表示されます。)
便利ですね。みなさんもこうやって地道にチューニングしていきましょう
Facebookページもよろしくお願いします
記事の投稿者
a.takeuchi a