ホーム

トップ

MallocDebug
Sampler
ObjectAlloc
Shark

Cocoa はじめの一歩

自作ソフトいろいろ




修正日: 07/10/23  

Sampler  

 Performance Tools入門 その2


4. 細かい機能

 ブラウザ表示をより便利に使いこなすために、以下のような機能があります。各機能、必ずしも便利に使えるものばかりではありませんので、いろいろと試してみて自分にあった機能/使い方を探してください。

(1)ブラウザ下部のコントロール類(図3, 4)

【図3】 ブラウザ下部のコントロール

【図4】 ブラウザ下部のコントロール


・Display counts
 ブラウザに表示するサンプル数の下限を設定します。例えば10に設定するとサンプル数が9以下の関数は表示されなくなります。アプリ全体への影響の少ない関数をふるいにかけ、重要な部分に注力することができます。

・Color Libraries
 ブラウザおよびコールスタック内の関数を、それが所属するライブラリごとに着色します。色の指定はできません。

・Watch FN
 選択中の関数を関数呼出しサンプリングリストに追加します → 6項参照

・Prune
 選択中の関数をブラウザから取り除きます。最適化に影響がない関数を表示しないようにすることで、重要な部分に集中することができます。

・Largest Path
 選択中の関数から最もサンプル数の多いパスを、ブラウザの一番下まで移動します。

・Set Root
 選択中の関数をブラウザのルートとして設定します。以降選択した関数から呼び出された下の部分のみがブラウザに表示されます。自作の関数など重要な部分に注目して分析することができます。

・Restore Root
 「Set Root」で設定したルートを解除します。

・Invert call tree
 ブラウザの表示を逆さにします。通常はmain関数から順番に下に向かって表示しますが、Invertすることで一番最後に処理を行った関数からそれを呼び出した関数に向かって表示するようになります。


(2) ドロワーのコントロール類(図5)

【図5】 ドロワーの設定


・Display counts as
 ブラウザのサンプル数の単位を切り替えます。以下の三種類から選びます。
 ・Samples ->サンプル数
 ・Percent ->サンプル数/全サンプル数
 ・Seconds ->実行秒数(正確な秒数ではなくサンプリング時間×Percentで計算しているだけなので注意)

・Sampling Rate:
 サンプリングを実行する間隔をミリ秒単位で指定します。短いほど正確なデータを取得できますが、ハードウェアの能力を超えたレートを設定すると逆に正確な結果を得られなくなってしまいます(正確な間隔を刻めず同じタイミングで複数回分のサンプリングを行うなど)。
 通常は10〜50程度に設定します。



5. Outlineタブ

 Outlineタブではブラウザで表示しているものと同じ内容をアウトライン形式で表示します。4項で説明した各機能もブラウザと同様に使えます。ただしアウトラインの開閉など非常に不安定で、すぐに反応しなくなるので注意してください。