正答1
解説
正解は1です。
コンパイラの最適化は、原始プログラムの意味を変えずに、より効率のよい目的プログラムを生成する処理です。
主な目的は、プログラムの実行時間の短縮や、使用するメモリ量の削減です。
【選択肢別解説】
1:○ 不要な命令の削除や、ループ内の計算をループの外へ移すことなどで実行時間を短縮するのが、最適化の主な目的です。
2:× 最適化で命令の順序が入れ替わると、原始プログラムとの対応が分かりにくくなります。
デバッグはむしろ難しくなるため、デバッグ時には最適化を抑えることがあります。
3:× 保守性の改善は、原始プログラムの構造や書き方を整えることで図るものです。
コンパイラの最適化は目的プログラムの効率を高めるもので、保守性とは関係ありません。
4:× 最適化を行うとコンパイラの解析処理が増えるため、目的プログラムを生成する時間はむしろ長くなります。
【ポイント】
最適化の代表例には、定数の畳込み、共通部分式の削除、ループ不変式の移動、インライン展開などがあります。