関数呼び出しのインライン化

1 つの関数が少しの場所で呼び出されるが何度も実行される場合には、通常、その関数をインライン関数に変更すると、多数の関数呼び出しが削減され、パフォーマンスが改善されます。関数呼び出しをインライン関数またはマクロ式に変更することで、パフォーマンスを改善できることがあります。ただし、その変更でプログラム・オブジェクトのサイズが増加せず、プログラムをスローダウンするほどのページ不在が生じない場合に限ります。パフォーマンスを最適化するには、プログラムのサイズとインライン化またはマクロ式の間でバランスを取ります。表 1 を参照してください。
注: C++ 言語のみ C++ では、マクロ式はお勧めできません。代わりに、inline キーワードを使用し、インライン化をオンにします。

INLINE コンパイル時オプションにより、コンパイラーが関数呼び出しを、その関数呼び出しの代わりにその関数のコードに置き換えるように要求できます。コンパイラーでインライン化を行うことが許可される場合、関数呼び出しは、関数定義のソース・コードを表すマシン・コードで置き換えられます。

インライン化は、関数呼び出しのオーバーヘッドを除去することで、C または C++ プログラムの実行時のパフォーマンスを改善できるようにする方法です。インライン化により、最適化のためのプログラムの拡張ビューが可能になります。グローバル・スケールで定数およびフロー構造体を公開することで、コンパイラーは最適化時に、より良い選択を行うことができます。

インライン化およびマクロの拡張については、以下を参照してください。