性能評価・プロファイリング
プロファイルの結果を表すフレームグラフの読み方として正しいものはどれか。
- A各関数の色が、その関数の重要度を表す
- B呼び出しの連なりを縦に積み重ね、各関数の横の幅がその関数(と呼び出した先)で使った時間の割合を表す
- C横の軸は、プログラムを実行した日付を表す
答えと解説を見る
正解:B. 呼び出しの連なりを縦に積み重ね、各関数の横の幅がその関数(と呼び出した先)で使った時間の割合を表す
フレームグラフでは、下に呼び出し元、上に呼び出し先の関数を積み重ね、サンプリングで記録された回数に比例した幅で描きます。幅の広い箱ほど多くの時間を使っています。上に何も載っていない幅の広い箱は、その関数自身が時間を使っていることを、上にさらに関数が載っていれば呼び出した先で時間を使っていることを示します。どの呼び出しの経路が重いかを一目で見つけられます。
- A. 色は多くの場合、見分けやすくするためのものです。
- B. 正しい。幅の広い部分が時間を使っている場所です。
- C. 横の軸は時間の割合で、日付ではありません。