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

性能の改善を表す「速度向上率(スピードアップ)」の求め方として正しいものはどれか。

  1. A改善前の実行時間 ÷ 改善後の実行時間
  2. B改善後の実行時間 ÷ 改善前の実行時間
  3. C改善前の実行時間 − 改善後の実行時間
答えと解説を見る

正解:A. 改善前の実行時間 ÷ 改善後の実行時間

速度向上率は、改善前の時間を改善後の時間で割った値です。例えば10秒かかっていた処理が4秒になれば、10÷4=2.5倍の速度向上です。「60%短くなった」と「2.5倍速くなった」は同じことを表していますが、言い方を混同しやすいので注意が必要です。並列化の効果を示すときは、1つのコアのときの時間を基準にして、コアの数を増やしたときの速度向上率を示します。

  • A. 正しい。2なら2倍速くなったという意味です。
  • B. それは時間の比で、1より小さい値になります。
  • C. 差では倍率になりません。
この分野を解く 分野ページへ

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

  1. 処理全体の50%を占める部分を4倍速くした。全体の速度向上率はいくらか(アムダールの法則)。
  2. 処理全体の60%を占める部分だけを速くして、全体を2倍速くしたい。その部分を何倍速くする必要があるか。
  3. アムダールの法則から得られる、性能の改善の進め方についての教訓として最も適切なものはどれか。
  4. グスタフソンの法則が示す考え方として正しいものはどれか。
  5. 並列計算の評価でいう「強いスケーリング」と「弱いスケーリング」の違いとして正しいものはどれか。