C言語:高速化のためのコンパイルオプション

2010年2月14日

高速化のために、ボトルネックとなる関数を発見し性能改善する必要があります。 そんなときはgprof等のプロファイラツールを使用しましょう。

また、最適化のためのオプションも有効です。
例えば以下のようなコンパイルオプションがありますので、使用してみてください。

-pg
 プロファイラツールgprof用の解析ファイル(a.out)を生成する。
 関数呼び出し回数や関数事の平均実行時間など、どの処理がボトルネック
 になっているかがわかる。解析結果は、「gprof a.out」で閲覧できる。

-O4
 -O3との違いは、関数のインライン展開を行ってくれるところ。
 これによって、関数呼び出し時のスタックの積み卸し処理がなくなる。
 ※-pgオプションとの併用は可能。ただし、プロファイリング結果に
  インライン展開された関数名は表示されなくなるので注意。