コンパイラ最適化
分岐において、より通る確率が高い経路がわかる場合、そちらを優先的に最適化した方が全体として性能が向上する。
複数の条件式が論理積や論理和で並んでいるとき、単純な条件式(変数と何かを比較するなど)を先に評価して、次に複雑な条件式(何らかの関数呼び出しを伴うものなど)を評価するようにした方が一般には効率がよい。これは遅延評価を補う技法だが、各条件式が互いに依存している場合は実施できない。最小評価の意味論がこれをさらに難しくする。
定数からなる式(例えば、3 + 5)をコンパイル時に計算結果(8)と置き換えてしまう。最近の言語処理系ではほとんど必ず行われる。
コンパイラ最適化を大きく捉えれば、以下のような目的があり、これらは時には互いに矛盾する。
これによりコンパイラはキャッシュミスした場合のペナルティの度合いを知ることができる。このような情報を必要とするのは、主に一部の特殊なアプリケーションである。