Rational Developer for Power Systems Software パフォーマンス・アドバイザーでは、ご使用のオペレーティング・システムに
応じて、IBM XL C/C++ コンパイラーと GNU gcc/g++ コンパイラーの両方でビルドされたプログラムの分析がサポートされています。
サポートされているバージョンについて詳しくは、インストール・ガイドを参照してください。
両方のツール・チェーンにおける複数のバージョンがサポートされていますが、コンパイラーには、いくつかの小さな機能の違いがあります。
- XL C/C++ V11.1 以降のコンパイラーは、コンパイラー変換レポートの生成をサポートしています。これらのレポートはリストの 1 つの
タイプで、パフォーマンス・ソース・ビューアーにおける
インライン化に関する詳細情報を提供するために使用されます。
インライン化情報は XL C/C++ V11.1 以降でのみ表示されます。これは、コンパイル時に
-qlistfmt=xml=all オプションが指定されている場合だけです。
- 異なるツール・チェーンでは (同じツール・チェーンで、コンパイラーのバージョンが
異なる場合も) 推奨値は異なる可能性があります。
例えば、推奨値によって、使用しているコンパイラーのバージョンに特定のコンパイラー・オプションで、アプリケーションを
再ビルドするよう指示される可能性があります。
- パフォーマンス・ソース・
ビューアーに表示される行データは、コンパイラーによって影響を受ける可能性があります。
コンパイラーによって生成される行デバッグ情報は、時間とソース行を結び付けるために
使用されますが、別のコンパイラーは、少しだけ異なる行デバッグ情報を生成する可能性があります。
推奨されるコンパイラー・オプション
一般に、どのようにアプリケーションがコンパイルされたかに関係なく、いくつかのパフォーマンス情報が
提供されますが、推奨されるコンパイラー・オプションを使用することによって、より詳しい分析が可能になります。
また、パフォーマンス・アドバイザーに固有のものではない、一般的な推奨に
ついては、『ビルド構成オプションの設定におけるベスト・プラクティス』を
参照してください。
- -g (すべてのコンパイラー) または -qlinedebug (XL C/C++ のみ)
- このオプションは、プロファイリングされたコードをソースにマッピングし戻すために使用されるデバッグ情報を
生成するよう、コンパイラーに指示します。
このオプションは、最適化オプション (-O2 など) の代わりではなく、それらと一緒に
使用しなければならないことに注意してください。
さらに、プログラムがリンクしているときの -s オプションによっても、プログラムで
strip コマンドを実行することによっても、デバッグ情報はストリップされないことを覚えておいてください。
IBM XL C/C++ を使用していれば、-qlinedebug によって生成される実行可能ファイルの大きさは
-g の場合よりも小さくなりますが、必要なデバッグ情報はすべて入っています。
XLC バージョン 12 コンパイラーでは、より高い品質の行デバッグ情報を作成するため、-g オプションの代わりに -g8 を使用することも
できますが、引き換えに小さなパフォーマンス・オーバーヘッドが発生します。
- -qlistfmt=xml=all (XL C/C++ V11.1 以降のみ)
- このオプションは、コンパイラー変換レポートと呼ばれる特殊なリスト・ファイルを生成します。これらのレポートは、どのように
XL C/C++ がプログラムをコンパイルしたかに関する詳細情報を提供します。
この情報は現在、優れたコンパイラー・オプション推奨値およびインライン化情報をパフォーマンス・ソース・ビューアーで提供するために使用されています。
IBM XL C/C++ コンパイラー文書
IBM XL C/C++ コンパイラーに関する文書については、以下を参照してください。
- 詳しい検索が可能なインフォメーション・センター (AIX コンパイラー資料および Linux コンパイラー資料)
- PDF 形式の IBM XL C/C++ コンパイラー文書、ホワイト・ペーパー、IBM Redbooks 資料、および他の IBM コンパイラー資料へのリンク: