インライン展開
展開対象の選択と言語サポート
多くのコンパイラは効果があるならインライン展開を積極的に行う。これにより実行ファイルは大きくなるが、メモリの大容量化がCPU性能向上を上回るようになって、これがより効果的となったのである。このような自動インライン展開は、一般に関数自体が小さい関数型言語やオブジェクト指向言語では、従来からの最適化手法を使うためにも重要である。
命令型プログラミング言語では、関数（ルーチン）が比較的大きいため、インライン展開の方針も異なる。通常明示された関数かキーとなる関数のみをインライン展開し、言語の機能であるインライン関数や、ソースレベルの機能であるパラメータ付きマクロを使う。いずれにしてもプログラマがインライン展開すべき関数を指定するのだが、コンパイラは指定された関数をインライン展開できない（しない）場合もある。