性能評価・プロファイリング
アムダールの法則から得られる、性能の改善の進め方についての教訓として最も適切なものはどれか。
- A時間を多く使っている部分(よくある場合)を速くすることを優先する
- Bめったに実行されない部分から先に速くする
- Cどの部分を速くしても、全体への効果は同じである
答えと解説を見る
正解:A. 時間を多く使っている部分(よくある場合)を速くすることを優先する
全体の1%しか使っていない部分を無限に速くしても、全体は約1%しか速くなりません。一方、80%を使っている部分を2倍速くすれば、全体は約1.7倍になります。そのため、まずプロファイラなどで時間を多く使っている部分を見つけ、そこから改善するのが基本です。「よくある場合を速くせよ」は、コンピュータの設計でも繰り返し使われる原則です。
- A. 正しい。効果は占める割合で決まります。
- B. 割合が小さい部分を速くしても、全体はほとんど変わりません。
- C. 占める割合によって効果は大きく違います。