ソフトウェア開発技術者平成18年秋期 午前問36

問36

コンパイラによる最適化において,オブジェクトコードの所要記憶領域が削減できるものはどれか。
  • 関数のインライン展開
  • 定数の畳込み
  • ループ内不変式の移動
  • ループのアンローリング

分類

テクノロジ系 » ソフトウェア » 開発ツール

正解

解説

  • 関数のインライン展開は、関数を呼び出す側に呼び出される側の関数のコードを展開することで、関数呼び出しに伴う余分な制御処理を削減する最適化手法です。オブジェクトコードが展開される分だけオブジェクトコード量は増えます。
  • 正しい。定数の畳込みは、定数同士の計算式を、その計算結果の定数に置き換えることでオブジェクトコード量を削減する最適化手法です。
  • ループ内不変式の移動は、ループ中で値の変化しない式があるとき、その式をループの外に移動することで実行速度を向上させる最適化手法です。位置を置き換えるだけなのでオブジェクトコード量は変化しません。
  • ループのアンローリングは、ループ中の繰返しの処理を展開することで、ループ制御に伴う余分な処理を削減する最適化手法です。オブジェクトコードが展開される分だけオブジェクトコード量は増えます。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop