アプリケーションのパフォーマンスは、ハードウェア、オペレーティングシステム、およびシリアル環境と並列環境のコンテキストで表示されます。シリアル環境で実行されているアプリケーションの場合、アプリケーションがハードウェアリソースを効率的に使用するための適切なコンパイラフラグを使用することによって、パフォーマンスを最適化できます。並列環境で実行されているアプリケーションの場合、コンパイラオプションを使用して、複数コアおよび複数スレッドの実行を活用し、アプリケーションのパフォーマンスを最適化できます。自動並列化コンパイラフラグおよび OpenMP コンパイラフラグを使用すると、並列バージョンのアプリケーションをビルドおよび実行できます。
次の図は、アプリケーションのシリアルパフォーマンスおよび並列パフォーマンスを最適化するために使用する Oracle Solaris Studio のコンパイラオプションを示しています。
図 1 Oracle Solaris Studio のコンパイラオプション
最適化フラグは、次の 3 つの重要な特性に影響を及ぼします。
コンパイル時間
コンパイルされたアプリケーションの実行時間
最終的なバイナリで可能なデバッグアクティビティーの量
一般的に、最適化のレベルが高くなると、アプリケーションの実行が速くなり、コンパイルにかかる時間が長くなりますが、使用できるデバッグ情報は少なくなります。最適化レベルの影響はアプリケーションによって異なります。