性能評価・プロファイリング

プログラムの性能の分析でいうホットスポットの説明として正しいものはどれか。

  1. Aチップの温度が最も高い場所
  2. B無線LANが使える場所
  3. C実行時間の大部分を使っている、プログラムの中のごく一部のコード
答えと解説を見る

正解:C. 実行時間の大部分を使っている、プログラムの中のごく一部のコード

多くのプログラムでは、全体のコードの数%にあたるループや関数が、実行時間の大部分を使っています。この部分をホットスポットと呼びます。プロファイラでホットスポットを見つけ、そこにアルゴリズムの改善やメモリの使い方の工夫を集中させれば、少ない手間で大きな効果が得られます。逆に、ほとんど実行されない部分をいくら最適化しても、全体はほとんど速くなりません。

  • A. この問いではプログラムの話をしています。
  • B. 無線LANのホットスポットとは別の意味です。
  • C. 正しい。ここを改善するのが最も効果的です。
この分野を解く 分野ページへ

性能評価・プロファイリングのほかの問題

  1. プロファイルの結果を表すフレームグラフの読み方として正しいものはどれか。
  2. CPUに内蔵された性能カウンタ(PMU)で数えられるものの例として正しいものはどれか。
  3. 性能カウンタで測ったところ、あるプログラムのIPC(1サイクルあたりの命令数)が0.3と非常に低く、最後の段のキャッシュのミスが多かった。最も考えられる状況と対策の組み合わせはどれか。
  4. 性能カウンタで、分岐の予測ミスが非常に多いことが分かった。改善の方法として当てはまるものはどれか。
  5. 性能カウンタを使ったトップダウン分析(Top-down Microarchitecture Analysis)で、CPUの命令を処理する枠の使われ方を分ける大きな分類として正しいものはどれか。