アプリケーションのコードの最適化を指定します。
Windows: [C/C++] > [Optimization (最適化)] > [Optimization (最適化)]
Linux: [General (全般)] > [Optimization Level (最適化レベル)]
Mac OS: [General (全般)] > [Optimization Level (最適化レベル)]
IA-32、インテル(R) EM64T、インテル(R) Itanium(R) アーキテクチャー
Linux* および Mac OS*: | -O[n] |
Windows*: | /O[n] |
n | 最適化レベル。設定可能な値は、1、2、または 3 です。Linux および Mac OS システムでは、0 も指定できます。 |
O2 | 速度について最適化します。このデフォルトは、指定されているコンパイラーに応じて変更されます。詳細は、下記を参照してください。 |
このオプションは、アプリケーションのコードの最適化を指定します。
オプション | 説明 |
---|---|
O (Linux および Mac OS) | O2 を指定した場合と同じです。 |
O0 (Linux および Mac OS) | すべての最適化を無効にします。IA-32 およびインテル EM64T 対応システムでは、このオプションは -fp オプションおよび -fmath-errno オプションを設定します。 |
O1 | 速度の最適化を有効にし、コードサイズを大きくするだけで高速化に影響を与えるような一部の最適化を無効にします。 コードのサイズを制限するために、このオプションは次のことを行います。
O1 オプションは、次のオプションを設定します。
|
O2 | 速度の最適化を有効にします。一般的に推奨される最適化レベルです。 Itanium ベース・システムでは、このオプションは、グローバル・コード・スケジューリング、ソフトウェアのパイプライン化、プレディケーション、およびスペキュレーションを含む速度の最適化を有効にします。 このオプションは、次の機能も有効にします。
O2 オプションは、次のオプションを設定します。
|
O3 | O2 の最適化に加えて、プリフェッチ、スカラー置換、ループ変換、およびメモリーアクセス変換などのより強力な最適化を有効にします。次のような、速度を最大限にする最適化を有効にします。
Windows システムでは、O3 オプションは /GF (/Qvc7 およびそれ以上)、/Gf (/Qvc6 およびそれ以下)、/Ob2 オプションを設定します。 Linux および Mac OS システムでは、O3 オプションは -fp オプションを設定します。 IA-32 およびインテル EM64T 対応プロセッサーで、O3
オプションを -ax または -x (Linux)、/Qax または /Qx (Windows) オプションと組み合わせて使用すると、O2 よりも詳細にデータの依存性を分析します。そのため、コンパイル時間が長くなる場合があります。 O3 の最適化は、ループ変換およびメモリーアクセス変換が行われない限り、パフォーマンスが向上しないことがあります。場合によっては、O2 の最適化よりも遅くなります。 |
コマンドラインで最後に指定した O オプションは、その前に指定した他のオプションよりも優先されます。
注
O で設定されるオプションは、バージョンによって変更される場合があります。
O0 | Linux および Mac
OS: なし Windows: /Od、 |