15.4. GCC でのコードの最適化
1 つのプログラムは、複数の機械語命令シーケンスに変換できます。コンパイル時にコード分析用のリソースがより多く割り当てられると、最適な結果が得られます。
GCC でのコードの最適化
GCC では、-Olevel
オプションを使用して最適化レベルを設定できます。このオプションでは、level の部分に値のセットを指定できます。
レベル | 説明 |
---|---|
| コンピレーション速度の最適化: コードの最適化なし (デフォルト) |
| コード実行速度を高めるための最適化の作業量増加 |
| 作成されるファイルサイズの最適化 |
| レベル 3 以上は、厳密な標準への準拠を無視して追加の最適化を可能にします |
| デバッグ作業の最適化 |
リリースビルドの場合の最適化オプションとして、-O2
を推奨します。
開発中は、場合によってはプログラムやライブラリーのデバッグに -Og
オプションを使用する方が便利です。バグによっては、特定の最適化レベルでのみ出現するので、リリースの最適化レベルでプログラムまたはライブラリーをテストするようにしてください。
GCC では、個別の最適化を有効にするオプションが多数含まれています。詳細情報は、以下の追加リソースを参照してください。
関連資料
- GNU コンパイラーコレクションの使用: 3.11 Options That Control Optimization
GCC の Linux man ページ:
$ man gcc