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

コンパイラの新しい最適化で、実行する命令の数は20%減ったが、平均CPIが10%増えた(周波数は同じ)。この最適化の効果として正しいものはどれか。

  1. ACPIが増えたので、必ず遅くなる
  2. B実行時間は元の0.8倍になる
  3. C実行時間は元の0.88倍になり、速くなる
答えと解説を見る

正解:C. 実行時間は元の0.88倍になり、速くなる

実行時間は命令数とCPIの積に比例するので、0.8×1.1=0.88倍になり、約12%短くなります。複雑な命令を使って命令の数を減らすと1命令の手間が増えるように、ある要素を良くすると別の要素が悪くなることはよくあります。CPIや命令数のどちらか1つだけを見て判断すると誤るので、積で比べることが大切です。

  • A. 命令の減り方の方が大きいので、全体では速くなります。
  • B. CPIの増加を忘れています。
  • C. 正しい。0.8×1.1=0.88です。
この分野を解く 分野ページへ

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

  1. あるプログラムの命令の割合が、整数の演算50%(CPI 1)、ロードとストア30%(CPI 2)、分岐20%(CPI 5)だった。平均CPIはいくらか。
  2. CPUの性能を「1秒あたりに実行できる命令の数(百万命令毎秒)」で比べるときの注意点として正しいものはどれか。
  3. 性能の改善を表す「速度向上率(スピードアップ)」の求め方として正しいものはどれか。
  4. 処理全体の50%を占める部分を4倍速くした。全体の速度向上率はいくらか(アムダールの法則)。
  5. 処理全体の60%を占める部分だけを速くして、全体を2倍速くしたい。その部分を何倍速くする必要があるか。