あるプログラムの実行時間の60%を占める処理だけを3倍に高速化した。プログラム全体の処理速度は何倍になるか。
選択肢をタップすると、その場で答え合わせできます
正解と解説を見る
正解 C約1.67倍
解説
正解は「約1.67倍」です。アムダールの法則では、改善できない部分が全体の性能向上を制限します。元の実行時間を1とすると、高速化しない40%の部分は0.4のまま、60%の部分は になるので、新しい実行時間は です。全体の速度は で約1.67倍になります。「3倍」は、高速化した部分の倍率をそのまま全体に当てはめた誤りです。「1.8倍」は、割合と倍率を単純に掛けた値で、根拠がありません。「2.5倍」は、60%の部分を無限に速くして0にした場合の上限 です。一部をいくら速くしても、残りの部分が全体の上限を決めてしまいます。
- #アムダールの法則
- #性能評価
この調子で論理回路・コンピュータアーキテクチャを続けて解く
▶ この科目の連続演習へ進む(10問)