性能評価・プロファイリング
プログラムの性能を改善するときの進め方として最も適切なものはどれか。
- Aまず測定して時間を使っている場所を見つけ、そこを改善し、改善した後にもう一度測って効果を確かめる
- B遅そうな場所を推測して、測らずに書き換える
- Cすべての関数を同じだけ最適化する
答えと解説を見る
正解:A. まず測定して時間を使っている場所を見つけ、そこを改善し、改善した後にもう一度測って効果を確かめる
どこが遅いかの推測は、経験のある人でもよく外れます。まずプロファイラや性能カウンタで測り、時間を多く使っている場所と、その原因(計算、メモリ、分岐、入出力など)を突き止めます。改善を加えたら、もう一度同じ条件で測って、本当に速くなったか、ほかの部分が遅くなっていないかを確かめます。この繰り返しが、確実に性能を上げる方法です。
- A. 正しい。測定、改善、確認を繰り返します。
- B. 推測は外れることが多いです。
- C. 時間を使っていない部分の最適化は効果がありません。