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

ソフトウェアの開発で、変更のたびにベンチマークを自動で実行して結果を記録しておく目的として正しいものはどれか。

  1. Aベンチマークの結果を毎回同じ値にするため
  2. Bプログラムの機能を自動で増やすため
  3. Cある変更で性能が悪くなった(性能の回帰)ことに早く気づき、原因の変更を特定しやすくするため
答えと解説を見る

正解:C. ある変更で性能が悪くなった(性能の回帰)ことに早く気づき、原因の変更を特定しやすくするため

小さな変更が積み重なると、気づかないうちに性能が少しずつ落ちていくことがあります。変更のたびに同じ条件でベンチマークを実行して結果を記録しておけば、性能が落ちたときにすぐ気づけ、どの変更が原因かもすぐ分かります。何か月も後に気づくと、多くの変更の中から原因を探すのが大変になります。測定のばらつきを考えて、意味のある差だけを知らせる工夫も必要です。

  • A. 結果は変更や環境で変わるので、記録して比べます。
  • B. 機能を増やすものではありません。
  • C. 正しい。性能も機能と同じように守る対象です。
この分野を解く 分野ページへ

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

  1. ノートパソコンでベンチマークを測ったところ、同じプログラムでも結果が毎回大きくばらついた。CPUの側の原因として考えられるものと、その対策の組み合わせとして正しいものはどれか。
  2. マルチコアやNUMAのシステムで性能を測るとき、スレッドを特定のコアに固定する(アフィニティを設定する)ことがある理由として正しいものはどれか。
  3. GPUを使うプログラムの性能を分析するとき、最初に確かめるべきこととして最も適切なものはどれか。
  4. データセンターでサーバを選ぶとき、ピークの性能だけでなく考えるべき観点として当てはまらないものはどれか。
  5. 「新しい方法で100倍速くなった」という主張を評価するときに確かめるべき点として最も適切なものはどれか。