コンパイラ最適化
パッケージソフトウェアは一般に命令セットが同じCPUを搭載した各種マシン上で実行されることが予想される。それらマシンはタイミングやメモリなどの特性が異なる。そのため、コードを特定のCPU向けに最適化することはできず、最も一般的なCPU向けに最適化しつつ、他のCPUでもそれなりの性能で動作するようにする。
コンパイラの最適化処理では、その処理内容に応じて各種表現を使い分けることが多い。以下に代表的な表現を示す。
whileループを等価なdo/whileやrepeat/untilループに変換することで条件比較回数を減らす。通常、ループの前に条件文を追加する必要があり、コードのサイズは増大するが、命令パイプラインをスムーズにする効果がある場合もある。また、コンパイル時に初期条件が明確で、かつ副作用の問題もない場合、最初の条件文を除去できる。