エンベデッドシステムスペシャリスト 2023年 午前2 問09
問題文
プログラムの性能を改善するに当たって、関数、文などの実行回数や実行時間を計測して統計を取るために用いるツールはどれか。
選択肢
ア:デバッガ
イ:ドライバ
ウ:パーサ
エ:プロファイラ(正解)
🔒 解説は解答すると表示されます
プロファイラ【午前2解説】
正解の理由
関数や文などがプログラムの実行中に何回実行されたか、どれだけ時間がかかったかを計測・集計し、性能上のボトルネックを見つけるツールはプロファイラです。そのため、該当する選択肢はエです。
解法ステップ
- 問題文から「実行回数や実行時間を計測して統計を取る」という目的を確認します。
- プログラムの性能分析に使うツールを選びます。
- 性能情報を収集するプロファイラを選びます。
選択肢別の誤答解説
-
ア:デバッガ
プログラムの実行を一時停止したり、変数の値を確認したりして、バグの原因を調べるツールです。性能の統計を取ることが主な目的ではありません。 -
イ:ドライバ
テスト対象のモジュールを呼び出すために用いるプログラムです。モジュール単体テストなどで、上位モジュールの代わりをします。 -
ウ:パーサ
ソースコードや入力データの構文を解析するプログラムです。実行回数や実行時間を測定する機能とは異なります。 -
エ:プロファイラ
関数や文ごとの実行回数・実行時間などを計測し、プログラムの性能を分析します。
よくある誤解
-
デバッガとプロファイラを混同する
デバッガは主にバグの調査、プロファイラは主に性能の分析に使います。 -
実行時間だけを測るものだと思う
プロファイラは実行時間だけでなく、関数などの実行回数や、処理ごとの時間の割合も分析できます。 -
ドライバを性能測定ツールだと思う
テスト用のドライバは、対象モジュールを呼び出すためのプログラムです。実行統計を収集するプロファイラとは役割が異なります。
補足コラム
プロファイラで処理ごとの時間を調べると、改善すべき箇所を効率よく特定できます。実行時間の大きい箇所や、予想以上に何度も呼び出されている関数を見つけ、そこを優先して最適化します。なお、プロファイラ自体の計測処理が実行時間に影響する場合もあります。
FAQ
Q. プロファイラは、プログラムを自動で高速化するツールですか?
A. いいえ。実行状況を計測・分析するツールです。分析結果を基に、開発者がプログラムを改善します。
A. いいえ。実行状況を計測・分析するツールです。分析結果を基に、開発者がプログラムを改善します。
Q. デバッガでも実行時間を確認できますか?
A. 製品によっては関連情報を確認できる場合がありますが、実行回数や処理時間を統計的に分析する代表的なツールはプロファイラです。
A. 製品によっては関連情報を確認できる場合がありますが、実行回数や処理時間を統計的に分析する代表的なツールはプロファイラです。
関連キーワード: プロファイラ、性能分析、ボトルネック、デバッガ、ドライバ、パーサ

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

