profmerge ツールを使用して、動的プロファイル情報 (.dyn) ファイルや指定されたサマリーファイル (.dpi) をマージします。-prof-use (Linux* および Mac OS* X) または /Qprof-use (Windows*) オプションを使用すると、コンパイラーは、フィードバック・コンパイル・フェーズで profmerge を自動的に実行します。
profmerge をコマンドラインで使用するには、次のように指定します。
構文 |
---|
profmerge [-prof_dir dir_name] |
ツールにより、現在のディレクトリー、または -prof-dir で指定されたディレクトリー内のすべての .dyn ファイルがマージされ、サマリーファイル pgopti.dpi が生成されます。
ツールオプションの表記は、コンパイラー・オプションとは若干異なります。コンパイラー・オプションでは単語をつなぐのにハイフン (例: -prof-dir や /Qprof-dir) が使用されますが、ツールオプションでは、下線 (例: -prof_dir) が使用されます。また、Windows OS システムの場合、フォワードスラッシュ ("/") が前に付加される Windows コンパイラー・オプションとは異なり、ツールオプションの前にはハイフン ("-") が付加されます。
profmerge ツールを使用すると、アプリケーションをコンパイルせずに、.dyn ファイルを .dpi ファイルにマージできます。複数のシステムでインストルメント済み実行ファイルを実行して dyn ファイルを生成し、-prof_dpi オプションで profmerge を使用して、複数の dyn ファイルから作成されたそれぞれの dpi サマリーファイルに名前を付けることができます。
profmerge ツールは指定されたディレクトリーに存在するすべての .dyn ファイルをマージするため、無関係な .dyn ファイルがないことを確認してください。無関係な .dyn ファイルがあると、プロファイル情報に無効なプロファイル・データが含まれ、最適化されたコードのパフォーマンスに悪影響を与えることがあります。
profmerge オプション
profmerge ツールは、以下のオプションをサポートしています。
ツールオプション |
説明 |
---|---|
-help |
サポートされているオプションをリストします。 |
-nologo |
バージョン情報を抑止します。このオプションは、Windows でのみサポートされています。 |
-exclude_funcs functions |
プロファイルから関数を除外します。リスト項目はカンマ (",") で区切られていなければなりません。関数名でワイルドカード文字としてピリオド (".") を使用できます。 |
-prof_dir dir |
.dyn ファイルと .dpi ファイルを読み取ったり、.dpi ファイルを書き出すディレクトリーを指定します。また、PROF_DIR 環境変数を設定できます。 |
-prof_dpi file |
生成する .dpi ファイルの名前を指定します。 |
-prof_file file |
ファイル一致から情報をマージします: dpi_file_and_dyn_tag |
-dump |
プロファイル情報を表示します。 |
-src_old dir -src_new dir |
.dpi ファイル内に格納されているディレクトリー・パスを変更します。 |
-src_no_dir |
dyn/dpi レコードからの読み取り時に、ディレクトリー名ではなく、ファイル名のみを使用します。-src_no_dir を指定した場合、どのプロファイル・データが特定のアプリケーション・ルーチンに対応するかを判断する際に、ソースファイルのディレクトリー名は無視されます。また、-src-root オプションも無視されます。 |
-src-root dir |
ユーザー・アプリケーション・ファイルが格納されるルート・ディレクトリーのディレクトリー・パス・プリフィックスを指定します。このオプションは、-src_no_dir を指定した場合は、無視されます。 |
-a file1.dpi ... fileN.dpi |
利用可能な .dpi ファイルを指定し、マージします。 |
-verbose |
マージ中のすべての情報を表示します。 |
-weighted |
データカウントを正規化するために、ツールに dyn ファイルの値 (実行時間にかかわらず) と等しいウェイトを適用するよう指示します。このキーワードは、実行時間の長さが異なってもそれらを等しく扱う場合に役立ちます。 |
profmerge によるソースファイルの再配置
インテル® コンパイラーは、各ルーチンのソースファイルのフルパスを使用して、そのルーチンに関連するプロファイル・サマリー情報を検索します。デフォルトでは次のことができません。
アプリケーションのソースを移動して、プロファイル・サマリー・ファイル (.dpi) を使用する。
異なるディレクトリーにある同一アプリケーションのソースをビルドする別のユーザーとプロファイル・サマリー・ファイルを共有する。
profmerge オプションの -src_no_dir を指定してファイルレコードを読み取る際に、ディレクトリー名の使用を無効にします。この profmerge オプションは、コンパイラー・オプションの -no-prof-src-dir (Linux および Mac OS X) と /Qprof-src-dir- (Windows) と同じです。
プロファイル・サマリー・ファイルの共有とアプリケーション・ソースの移動を行うには、profmerge オプションの -src-root を使用して、ディレクトリー・パス・プリフィックスをアプリケーション・ファイルが格納されているルート・ディレクトリーに指定します。また、オプションペア -src_old -src_new を指定して、既存の dpi サマリーファイルのデータを変更できます。次に例を示します。
例: コマンド構文の再配置 |
---|
profmerge -prof_dir <dir1> -src_old <dir2> -src_new <dir3> |
<dir1> は動的情報ファイル (.dpi) へのフルパス、<dir2> はソースファイルへの古いフルパス、<dir3> はソースファイルへの新しいフルパスです。上記のコマンド例は、<dir1> で指定されたディレクトリーにある pgopti.dpi ファイルを読み取ります。ソースパスが <dir2> プリフィックスで始まる pgopti.dpi ファイルにある各ルーチンは、profmerge により、<dir3> プリフィックスに置換されます。pgopti.dpi ファイルは、新規のソースパス情報で更新されます。
profmerge は、pgopti.dpi ファイルに対して何度でも実行できます。これは、複数のディレクトリーにソースファイルがある場合に有効です。
オペレーティング・システム |
コマンド例 |
---|---|
Linux および Mac OS X |
profmerge -prof_dir -src_old /src/prog_1 -src_new /src/prog_2 profmerge -prof_dir -src_old /proj_1 -src_new /proj_2 |
Windows |
profmerge -src_old "c:/program files" -src_new "e:/program files" profmerge -src_old c:/proj/application -src_new d:/app |
-src_old と -src_new で指定される値では、大文字と小文字の区別はありません。同様に、フォワードスラッシュ (/) とバックスラッシュ (\) は、同じ文字と見なされます。
profmerge のソースの再配置機能は、pgopti.dpi ファイルを変更するため、ソースの再配置を行う前に、必要に応じて、ファイルのバックアップをとってください。
proforder ツールはフィードバック・コンパイル・フェーズの一部として使用されます。これによってプログラムのパフォーマンスが上がります。proforder ツールは、/ORDER リンカーオプションで使用する関数順序リストを生成します。ツールの構文は、次のとおりです。
構文 |
---|
proforder [-prof_dir dir] [-o file] |
dir はプロファイル・ファイル (.dpi および .spi) を含むディレクトリーで、file は関数順序リストファイルのオプション名です。デフォルト名は、proford.txt です。
ツールオプションの表記は、コンパイラー・オプションとは若干異なります。コンパイラー・オプションでは単語をつなぐのにハイフン (例: -prof-dir や /Qprof-dir) が使用されますが、ツールオプションでは、下線 (例: -prof_dir) が使用されます。また、Windows OS システムの場合、フォワードスラッシュ ("/") が前に付加される Windows コンパイラー・オプションとは異なり、ツールオプションの前にはハイフン ("-") が付加されます。
proforder オプション
proforder ツールは、以下のオプションをサポートしています。
ツールオプション |
デフォルト |
説明 |
---|---|---|
-help |
|
サポートされているオプションをリストします。 |
-nologo |
|
バージョン情報を抑止します。このオプションは、Windows でのみサポートされています。 |
-omit_static |
|
関数の順序配置からスタティック関数を省略します。 |
-prof_dir dir |
|
.spi ファイルおよび .dpi ファイルが存在するディレクトリーを指定します。 |
-prof_dpi file |
|
.dpi ファイルの名前を指定します。 |
-prof_file string |
|
文字列 (string) で渡された値と一致する部分文字列 (substring) 値を含む .dpi および .spi ファイルを選択します。 |
-prof_spi file |
|
.spi ファイルの名前を指定します。 |
-o file |
proford.txt |
出力ファイルの代替名を指定します。 |