平成26年度春期 エンベデッドシステムスペシャリスト試験 午前II 問10
【問題10】
コンパイラによる最適化において、オブジェクトコードの所要記憶容量が削減できるものはどれか。
【解説】
ア: 関数のインライン展開
誤り。関数をインライン展開することで、関数呼び出しのオーバーヘッドは削減できますが、コード量が増加するため、オブジェクトコードの所要記憶容量が増える可能性があります。
イ: 定数の畳込み
正しい。定数畳込み(constant folding)は、計算結果をコンパイル時に確定させる最適化手法で、余計な計算を削減し、オブジェクトコードのサイズを削減することができます。
ウ: ループ内不変式の移動
誤り。ループ内で不変な計算をループ外に移動することで実行効率は上がりますが、コードサイズには大きな影響を与えません。
エ: ループのアンローリング
誤り。ループをアンローリングすると、繰り返しの回数が減ることで処理効率が向上しますが、コード量は増加するため、オブジェクトコードの所要記憶容量は増加します。
出典:平成26年度 春期 エンベデッドシステムスペシャリスト試験 午前II 問10