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

ノートパソコンでベンチマークを測ったところ、同じプログラムでも結果が毎回大きくばらついた。CPUの側の原因として考えられるものと、その対策の組み合わせとして正しいものはどれか。

  1. ACPUの命令セットが毎回変わる。命令セットを固定する
  2. BCPUのコアの数が毎回変わる。コアを追加する
  3. Cターボ動作や温度による周波数の変化。周波数を固定するか、温度が落ち着いた条件で測る
答えと解説を見る

正解:C. ターボ動作や温度による周波数の変化。周波数を固定するか、温度が落ち着いた条件で測る

最近のCPUは、温度や電力の余裕に応じて周波数を自動で上げ下げします。冷えた状態で始めるとターボ動作で速く、続けて動かすと温度が上がって周波数が下がる、というように、同じプログラムでも測るたびに結果が変わります。比べたい変更の効果を正しく見るには、周波数を固定する、電源の設定をそろえる、温度が落ち着くまで待つ、何回も測って統計をとる、などの工夫が必要です。

  • A. 命令セットは実行のたびには変わりません。
  • B. コアの数は変わりません。
  • C. 正しい。電源の設定も結果に影響します。
この分野を解く 分野ページへ

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

  1. マルチコアやNUMAのシステムで性能を測るとき、スレッドを特定のコアに固定する(アフィニティを設定する)ことがある理由として正しいものはどれか。
  2. GPUを使うプログラムの性能を分析するとき、最初に確かめるべきこととして最も適切なものはどれか。
  3. データセンターでサーバを選ぶとき、ピークの性能だけでなく考えるべき観点として当てはまらないものはどれか。
  4. 「新しい方法で100倍速くなった」という主張を評価するときに確かめるべき点として最も適切なものはどれか。
  5. SSDの性能を、連続の読み出しの帯域(MB/s)だけでなく、4 KBのランダムな読み出しのIOPS(1秒あたりの入出力の回数)でも示すことが多い理由として正しいものはどれか。