最適化
読み:さいてきか
外語:optimize
プログラムコードを、ある指標に基いて、より効率が良くて動作内容が同じものに変更する操作のこと。
概要
一般に、機械語コード生成処理の後段で行なわれる。
指標には、速度、生成コードサイズ、使用メモリー量などがある。
特徴
方法
速度の最適化方法としては、次のようなものがある。
- 定数の事前計算
- 共通部分式の削除
- ループの展開
- サブルーチン呼び出しの展開
- ループ内不変式のループ外追い出し
- 多用される変数のレジスターへの割り当て
生成コードサイズの最適化方法としては、次のようなものがある。
使用メモリー量の最適化では、次のようなものがある。
自動化
近年のコンパイラーは最適化の性能も高くなり、人間よりも効率の良いものを作ることが可能となってきた。
従って、ソースコードレベルの最適化にはそれほど熱心にならないほうがよい。メンテナンスの困難なソースが出来てしまうリスクも考慮して、最適化はコンパイラーに任せるべきである。
但し、アルゴリズム上の最適化は人間がやらねばならない。
再検索