応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
本日は試験日

応用情報技術者試験 令和6年春 午前問19 解説付き過去問

問題

プログラムを構成するモジュールや関数の実行回数、実行時間など、性能改善のための分析に役立つ情報を収集するツールはどれか。

正解

解説

プログラムの性能改善を行う際には、どの処理が時間を消費しているか、またどの関数やモジュールが頻繁に実行されているかを把握することが重要となる。 このような情報を効率的に収集・分析するためのツールが「プロファイラ」である。

  • プロファイラの概要
    プロファイラは、プログラムの実行中に各関数やモジュールの
    - 実行回数
    - 実行時間
    - 呼出し関係(どの関数から呼ばれたか)
    などを記録・可視化するツールである。これにより、プログラム内のどの処理が最も負荷をかけているかを特定することができる。

  • 問題における適用
    本問では、モジュールや関数の「実行回数」「実行時間」などの情報を収集するツールが問われている。 これはまさにプロファイラが担う役割であり、収集された情報をもとにボトルネックを分析し、最適化につなげることができる。

  • 他の選択肢との比較
    - エミュレーターは、ハードウェア環境を模倣してソフトウェアの動作を仮想的に再現するものであり、性能分析が主目的ではない。
    - シミュレーターは、システム全体や特定のプロセスを仮想的に再現して挙動を検証するツールであり、処理時間の記録や分析には特化していない。
    - デバッガは、プログラムの誤動作やバグを検出・修正するためのツールであり、性能分析ではなく正確性の検証が目的となる。

このように、処理の実行回数や時間など、性能改善に直結する情報を収集するためには、プロファイラが最も適している。