性能評価・プロファイリング
プログラムの性能を改善するときにプロファイラを使う目的として正しいものはどれか。
- Aプログラムの文法の誤りを見つける
- Bプログラムの利用者の数を数える
- Cプログラムのどの関数や部分が、実行時間の多くを使っているかを調べる
答えと解説を見る
正解:C. プログラムのどの関数や部分が、実行時間の多くを使っているかを調べる
多くのプログラムでは、実行時間の大部分がごく一部のコードで使われています。しかし、どこが遅いかを人が推測すると外れることがよくあります。プロファイラは、関数ごとの実行時間や呼ばれた回数、さらには行ごとや命令ごとの時間を測って示します。アムダールの法則のとおり、時間を多く使っている部分を改善するのが効果的なので、まず測ることが性能の改善の第一歩です。
- A. 文法の誤りはコンパイラが見つけます。
- B. 利用者の数とは関係ありません。
- C. 正しい。改善するべき場所を見つけられます。