コンパイラによる最適化において、オブジェクトコードの所要記憶容量が削減できるものはどれか。
定数の畳み込みは事前計算で命令を減らし容量も削減する
選択肢
- ア関数のインライン展開
- イ定数の畳み込み
- ウループ内不変式の移動
- エループのアンローリング
正解と解説
正解:イ 定数の畳み込み
定数の畳み込みは、コンパイル時に確定する定数式をあらかじめ計算して結果に置き換える最適化で、実行時の演算命令が消えるためコードサイズも実行時間も削減できる。これに対しインライン展開とループアンローリングは、呼出しや分岐を減らす代わりにコードを複製するのでオブジェクトコードは大きくなる。ループ内不変式の移動は実行回数を減らす最適化で、記憶容量の削減が主目的ではない。
選択肢ごとの解説
- ア関数本体を呼出し箇所へ複製するため、コードサイズは増える傾向にある。
- イ正解。定数式を事前計算して置き換えるため命令が減る。
- ウループ外へ計算を移すのは実行時間短縮が目的で、容量削減にはつながらない。
- エループ本体を展開して複製するので、コードサイズは増加する。
同じ分野の他の問題
- サブルーチンへの引数の受渡し方のうち、引数として渡した変数の値が、サブルーチンの実行後に変更されないことが保証されている…2019年度 春期 午前II 問24
- コンパイラによる最適化において、オブジェクトコードの所要記憶容量が削減できるものはどれか。2016年度 春期 午前II 問11
- 組込み機器を含めた、様々なハードウェアアーキテクチャに向けて、カスタムのLinuxディストリビューションを構築するための…2025年度 秋期 午前II 問8
- 優先度に基づくプリエンプティブスケジューリングのリアルタイムOSを使用した組込みシステムにおいて、入力装置及び出力装置に…2025年度 秋期 午前II 問6
- プロセスの切替えに関する記述のうち、ディスパッチャの説明として、適切なものはどれか。2024年度 秋期 午前II 問6
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。