Sun Studio 12:C 用户指南

B.2.131 -xprofile=p

使用该选项收集并保存执行频率数据,从而可在以后的运行中使用该数据来提高性能。只有将优化指定为 -xO2 或更高级别时,该选项才有效。

必须在编译和链接时指定 -xprofile。有关在编译时和链接时都必须指定的所有编译器选项的完整列表,请参见表 A–2

通过为编译器提供运行时性能反馈可以增强在较高优化级别(例如,-xO5)进行的编译。为了生成运行时性能反馈,必须使用 -xprofile=collect 进行编译,然后对典型数据集运行可执行文件,最后在最高优化级别使用 -xprofile=use 重新编译。

对多线程应用程序来讲,配置文件集合是安全的。也就是说,对执行自身多任务 (-mt) 的程序进行文件配置会产生准确的结果。

p 必须为 collect[:name]、use[:name] 或 tcov

当您使用 -xprofile=collect 来编译用于配置文件收集的程序,而用 -xprofile=use 来编译用于配置文件反馈的程序时,在这两个编译中,除 -xprofile=collect-xprofile=use 之外的源文件和编译器选项必须相同。

-xprofile=use:name 选项指定的配置文件反馈目录名称从该选项在一次编译器调用中的所有实例中累积。例如,假定分别执行名称为 abc 的已进行文件配置的二进制文件结果是创建文件配置目录 a.profileb.profilec.profile


cc -O -c foo.c -xprofile=use:a -xprofile=use:b -xprofile=use:c
 

这三个配置文件目录均被使用。编译目标文件时,与特定目标文件有关的任何有效配置文件反馈数据都从指定的反馈目录中开始累积。

如果在同一的命令行上同时指定 -xprofile=collect-xprofile=use,则命令行中最右边 -xprofile 选项的应用如下所示:

另请参见:-xhwcprof-xprofile_ircache-xprofile_pathmap