O2 最適化を行い、融合、アンロールとジャムのブロック、IF 文の折りたたみなど、より強力なループ変換を有効にします。
このオプションは、ほかのオプションも設定します。設定されるオプションは、使用しているオペレーティング・システムやアーキテクチャーに応じてコンパイラーにより決定され、バージョンによって異なる場合があります。
O3 オプションを -ax または -x (Linux*)、/Qax または /Qx (Windows*) と組み合わせて使用すると、O2 よりも詳細にデータの依存性を分析します。そのため、コンパイル時間が長くなる場合があります。
O3 の最適化は、ループ変換およびメモリーアクセス変換が行われない限り、パフォーマンスが向上しないことがあります。場合によっては、O2 の最適化よりも遅くなります。
O3 オプションは、浮動小数点演算を多用するループや大きなデータセットを処理するループを含むアプリケーションに推奨します。
共有ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。
|