エンベデッドシステムスペシャリスト試験 令和5年度 秋期 午前II 問9
プログラムの性能を改善するに当たって、関数、文などの実行回数や実行時間を計測して統計を取るために用いるツールはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
プロファイラは、プログラムを実行しながら、関数や文の実行回数、処理に費やした時間、呼出し関係などを測定し、統計情報として示すツールです。処理時間の大部分を占める箇所や、極端に多く呼び出される関数を特定できるため、性能改善の対象を客観的に絞り込めます。例えば、全実行時間の60%を占める関数が判明すれば、その関数のアルゴリズムや入出力処理を重点的に見直せます。このように、実測値に基づいてボトルネックを発見する用途に当たるので、エが正解です。
アのデバッガは誤りです。デバッガは、ブレークポイントで実行を停止したり、変数やメモリの値を確認したり、命令を一つずつ実行したりして、不具合の原因を調査するツールです。
イのドライバは誤りです。デバイスドライバは、OSやアプリケーションから周辺装置を操作するための制御用ソフトウェアであり、プログラムの性能統計を収集するツールではありません。
ウのパーサは誤りです。パーサは、ソースコードやデータを文法規則に従って解析し、構文木などの内部表現を生成する構文解析器です。
【ポイント】 性能改善では、推測だけで修正せず、まずプロファイラで実行時間と実行回数を測定します。 時間を多く消費する箇所をホットスポット、性能を制限する箇所をボトルネックと呼びます。 改善後にも同じ条件で再測定し、効果と副作用を確認することが重要です。
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問9
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる