動的プロファイル情報 (.dyn) ファイルをマージするには、profmerge ユーティリティーを使用します。-prof-use (Linux*) または /Qprof-use (Windows*) オプションを使用すると、コンパイラーは、フィードバック・コンパイル・フェーズで profmerge を自動的に実行します。
profmerge をコマンドラインで使用するには、次のように指定します。
構文 |
---|
profmerge [/nologo] [-prof_dir dir_name] |
現在のディレクトリー、または -prof-dir で指定されたディレクトリー内のすべての .dyn ファイルがマージされ、サマリーファイル pgopti.dpi が生成されます。
-prof_dir ユーティリティー・オプションは、-prof-dir (Linux) または /Qprof-dir (Windows) コンパイラー・オプションとは異なります。
profmerge ユーティリティーは指定されたディレクトリーに存在するすべての .dyn ファイルをマージするため、無関係な .dyn ファイルが存在していないことを確認してください。無関係な .dyn ファイルが存在していると、プロファイル情報に無効なプロファイル・データが含まれ、最適化されたコードのパフォーマンスに悪影響を与えることがあります。profmerge ユーティリティーを使用すると、アプリケーションをコンパイルしないで、.dyn ファイルを .dpi ファイルにマージできます。
profmerge ユーティリティーは、以下のオプションをサポートしています。
オプション |
説明 |
---|---|
-help |
サポートされているオプションをリストします。 |
-nologo |
バージョン情報を抑止します。 |
-exclude_funcs functions |
プロファイルから関数を除外します。リスト項目はカンマ (",") で区切られていなければなりません。関数名でワイルドカード文字としてピリオド (".") を使用できます。 |
-prof_dir dir |
.dyn および .dpi ファイルを読み取るディレクトリーを指定します。 |
-prof_dpi file |
.dpi ファイルの名前を指定します。 |
-prof_file file |
ファイル一致から情報をマージします: dpi_file_and_dyn_tag |
-dump |
プロファイル情報を表示します。 |
-src_old dir -src_new dir |
.dpi 内に格納されているディレクトリー・パスを変更します。 |
-a file1.dpi...fileN.dpi |
.dpi ファイルをマージします。 |
インテル(R) コンパイラーは、各ルーチンのソースファイルのフルパスを使用して、そのルーチンに関連するプロファイル・サマリー情報を検索します。デフォルトでは次のことができません。
アプリケーションのソースを移動する場合、プロファイル・サマリー・ファイル (.dpi) を使用する。
異なるディレクトリーにある同一アプリケーションのソースをビルドする別のユーザーとプロファイル・サマリー・ファイルを共有する。
プロファイル・サマリー・ファイルの共有とアプリケーション・ソースの移動を行うには、profmerge -src_old -src_new を使用します。次に例を示します。
例: コマンド構文の再配置 |
---|
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 |
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 (Linux) または /src_old (Windows)、-src_new (Linux) または /src_new (Windows) で指定される値では、大文字と小文字の区別はありません。同様に、フォワードスラッシュ (/) とバックスラッシュ (\) は、同じ文字とみなされます。
profmerge のソースの再配置機能は、pgopti.dpi ファイルを変更するため、ソースの再配置を行う前に、必要に応じて、ファイルのバックアップをとってください。
proforder ユーティリティーはフィードバック・コンパイル・フェーズの一部として使用されます。これによってプログラムのパフォーマンスが上がります。proforder ユーティリティーは、/ORDER リンカーオプションで使用する関数順序リストを生成します。ツールの構文は次のとおりです。
構文 |
---|
proforder [-prof_dir dir] [-o file] |
dir はプロファイル・ファイル (.dpi および .spi) を含むディレクトリーで、file は関数順序リストファイルのオプション名です。デフォルト名は、proford.txt です。
-prof_dir ユーティリティー・オプションは、-prof-dir (Linux) または /Qprof-dir (Windows) コンパイラー・オプションとは異なります。
proforder ユーティリティーは、以下のオプションをサポートしています。
オプション |
説明 |
---|---|
-help |
サポートされているオプションをリストします。 |
-nologo |
バージョン情報を抑止します。 |
-omit_static |
関数の順序設定からスタティック関数を省略します。 |
-prof_dir dir |
.spi および .dpi ファイルが存在するディレクトリーを指定します。 |
-prof_file string |
文字列 (string) として渡された値と一致する部分文字列 (substring) 値を含む .dpi および .spi ファイルを選択します。 |
-prof_dpi file |
.dpi ファイルの名前を指定します。 |
-prof_spi file |
.spi ファイルの名前を指定します。 |
-o file |
出力ファイルの代替名を指定します。 |