コンパイラ最適化
配置を最適化することで並列に複数の計算が行えるようにする。これには命令レベル、メモリレベル、スレッドレベルの並列化がある。
マルチプロセッサ上でプログラムを複数のスレッドで動作するように変換する。
プログラムのソースコード全体を解析する最適化。より多くの情報が得られるため、さらに効率的な最適化が可能。新しい技法も適用可能である。例えばインライン展開技法を使えば、関数呼び出しを関数そのものと置き換えることになる。
スコープによる分類のほかに、以下の2つの最適化の分類がある:
ループ内の条件文を外に追い出して、条件文の then 部と else 部に元のループのコピーを置く。並列性を高めるなどの効果がある。