プログラムコードを、ある指標に基いて、より効率が良くて動作内容が同じものに変更する操作のこと。
一般に、機械語コード生成処理の後段で行なわれる。
指標には、速度、生成コードサイズ、使用メモリ量などがある。
速度の最適化方法としては、次のようなものがある。
生成コードサイズの最適化方法としては、次のようなものがある。
使用メモリ量の最適化では、次のようなものがある。
近年のコンパイラは最適化の性能も高くなり、人間よりも効率の良いものを作ることが可能となってきた。
従って、ソースコードレベルの最適化にはそれほど熱心にならないほうがよい。メンテナンスの困難なソースが出来てしまうリスクも考慮して、最適化はコンパイラに任せるべきである。
但し、アルゴリズム上の最適化は人間がやらねばならない。