平成30年度 秋期 午前 問19
ソフトウェア
プログラムの性能を改善するに当たって,関数,文などの実行回数や実行時間を計測して統計を取るために用いるツールはどれか。
- アコンパイラ
- イデバッガ
- ウパーサ
- エプロファイラ
答えと解説を見る
✓ これが正解エプロファイラ
解説
実行回数や実行時間を測って統計を取る道具です。
関数や文の実行回数と実行時間を計測して統計を取るための道具を選ぶ問いです。名前の由来を知っていると迷いません。プロファイルは横顔や輪郭という意味で、プログラムが時間をどう使っているかの輪郭を描く道具がプロファイラです。実行回数、実行時間、統計という三語がそろっていれば、これにあたります。使いどころも押さえておきます。性能を改善するときは、まず測って、どの関数が全体の何割の時間を使っているかを出し、その上位だけに手を入れます。時間の大半はごく一部のコードが使っているので、勘で直すと労力の割に効きません。測る場所を先に決めるための道具だと考えると、位置づけがはっきりします。見分けの軸は二つあります。その道具がいつ働くかと、何を見ているかです。実行の前に働くものは、原始プログラムを読んで別の形に変えたり文法を調べたりする役目を負います。実行の最中に働くものは、プログラムの振る舞いを観察します。観察するものの中でも、正しさを見るのか速さを見るのかでさらに分かれます。設問が指しているのは、実行の最中に速さを見るという一つの枠です。
ほかの選択肢はなぜ違うのか
- アコンパイラ:原始プログラムを目的プログラムへ翻訳する道具です。翻訳のときに最適化は行いますが、働くのは実行の前なので、実際に走らせたときの回数や時間を数えて集計する役目は負っていません。
- イデバッガ:誤りを見つけて直すための道具で、途中で止めたり一行ずつ進めたり変数の中身を覗いたりできます。走らせながら調べる点は似ていますが、見ているのは正しさであって、速さの統計ではありません。
- ウパーサ:構文解析を行う部分で、文法どおりに書かれているかを調べて構文木を作ります。翻訳の途中の一工程にあたるので実行の前に働き、走っているプログラムの振る舞いには立ち会いません。
この問題の用語
- 改善悪いところを直して、より良い状態にすること。一度で終わらせず、計画・実行・評価・見直しを繰り返して続けるのが基本です。
出典:平成30年度 秋期 応用情報技術者試験 午前 問19
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)