profmerge ツールと proforder ツール

profmerge ツール

動的プロファイル情報 (.dyn) ファイルをマージするには、profmerge ツールを使用します。-prof-use (Linux* および Mac OS*) または /Qprof-use (Windows*) オプションを使用すると、コンパイラーは、フィードバック・コンパイル・フェーズで profmerge を自動的に実行します。

profmerge をコマンドラインで使用するには、次のように指定します。

構文

profmerge [/nologo] [-prof_dir dir_name]

ツールにより、現在のディレクトリー、または -prof-dir で指定されたディレクトリー内のすべての .dyn ファイルがマージされ、サマリーファイル pgopti.dpi が生成されます。

-prof_dir ツールオプションは、-prof-dir (Linux および Mac OS) または /Qprof-dir (Windows) コンパイラー・オプションとは異なります。

profmerge ツールは指定されたディレクトリーに存在するすべての .dyn ファイルをマージするため、無関係な .dyn ファイルが存在していないことを確認してください。無関係な .dyn ファイルが存在していると、プロファイル情報に無効なプロファイル・データが含まれ、最適化されたコードのパフォーマンスに悪影響を与えることがあります。

profmerge ツールを使用すると、アプリケーションをコンパイルしないで、.dyn ファイルを .dpi ファイルにマージできます。

profmerge オプション

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 ファイルをマージします。

profmerge によるソースファイルの再配置

インテル(R) コンパイラーは、各ルーチンのソースファイルのフルパスを使用して、そのルーチンに関連するプロファイル・サマリー情報を検索します。デフォルトでは次のことができません。

プロファイル・サマリー・ファイルの共有とアプリケーション・ソースの移動を行うには、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 および Mac OS

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 ツールはフィードバック・コンパイル・フェーズの一部として使用されます。これによってプログラムのパフォーマンスが上がります。proforder ツールは、/ORDER リンカーオプションで使用する関数順序リストを生成します。ツールの構文は次のとおりです。

構文

proforder [-prof_dir dir] [-o file]

dir はプロファイル・ファイル (.dpi および .spi) を含むディレクトリーで、file は関数順序リストファイルのオプション名です。デフォルト名は、proford.txt です。

-prof_dir ツールオプションは、-prof-dir (Linux および Mac OS) または /Qprof-dir (Windows) コンパイラー・オプションとは異なります。

proforder オプション

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

出力ファイルの代替名を指定します。