平成18年秋期試験問題 午前問36

コンパイラによる最適化において,オブジェクトコードの所要記憶領域が削減できるものはどれか。

  • 関数のインライン展開
  • 定数の畳込み
  • ループ内不変式の移動
  • ループのアンローリング
正解 問題へ
分野:テクノロジ系
中分類:ソフトウェア
小分類:開発ツール
解説
  • 関数のインライン展開は、関数を呼び出す側に呼び出される側の関数のコードを展開することで、関数呼び出しに伴う余分な制御処理を削減する最適化手法です。オブジェクトコードが展開される分だけオブジェクトコード量は増えます。
  • 正しい。定数の畳込みは、定数同士の計算式を、その計算結果の定数に置き換えることでオブジェクトコード量を削減する最適化手法です。
  • ループ内不変式の移動は、ループ中で値の変化しない式があるとき、その式をループの外に移動することで実行速度を向上させる最適化手法です。位置を置き換えるだけなのでオブジェクトコード量は変化しません。
  • ループのアンローリングは、ループ中の繰返しの処理を展開することで、ループ制御に伴う余分な処理を削減する最適化手法です。オブジェクトコードが展開される分だけオブジェクトコード量は増えます。

Pagetop