基本情報技術者試験
こちらより
コンパイラの原理
コンパイラはコンパイル(プログラムを機械語に変換)する機能のこと
午後試験では、プログラムの機能について学びます。
最適化の方法の例
関数のインライン展開
指定した場所に関数(プログラム)を展開する。
共通部分式の展開
前後で内容が変化しない式がある時
変数に設定して、式を省略する。
例
x + yが多数の箇所で使われている場合
t = x + y
と変数に設定して
tという形で省略するなど
定数の畳込み
プログラム内に事前に計算結果を登録しておく方法
定数伝播
変数を定数で置き換える
無用命令の削除
不要プログラムの削除
ループ内不変式の移動
ループ内で変化のない式は
ループ外に置いておく
ループのアンローリング
ループ中の繰り返し処理を展開
forなどの繰り返し処理を使わず
同じ処理を一処理一処理を直に書いていると言えばわかりやすいかと。