Sun Studio 12:C++ 用户指南

A.2.18 –fast

此选项是一个宏,可以有效地用作优化可执行文件的起点,从而获得最佳运行时性能。-fast 是一个宏,随编译器发行版本的升级而变化,并扩展为目标平台特定的多个选项。可使用 -# 选项或 -xdryrun 检查 -fast 的扩展,并将适当的 -fast 选项结合到正在进行的可执行文件优化过程中。

该选项是一个宏,选择编译选项的组合用于在编译代码的机器上优化执行速度。

A.2.18.1 扩展

该选项通过扩展到以下编译选项,为大量应用程序提供了几乎最高的性能。

表 A–5 -fast 扩展

选项 

SPARC 

x86 

–fns

–fsimple=2

–nofstore

-xarch

-xbuiltin=%all

-xdepend

–xlibmil

–xlibmopt

–xmemalign

–xO5

-xregs=frameptr

–xtarget=native

交互

-fast 宏可扩展为可能影响其他指定选项的编译选项。例如,在以下命令中,-fast 宏的扩展包括了将 -xarch 还原为某个 32 位体系结构选项的 -xtarget=native

错误:


example% CC -xarch=v9 -fast test.cc

正确:


example% CC -fast -xarch=v9 test.cc

查看每个选项的描述以确定可能的交互操作。

代码生成选项、优化级别、内建函数的优化和内联模板文件的使用可以用后续选项来覆盖(请参阅示例)。指定的优化级别将覆盖以前所设置的优化级别。

–fast 选项包括 –fns–ftrap=%none,即该选项禁用所有陷阱操作。

示例

执行以下编译器命令,优化级别将为 –xO3


example% CC –fast –xO3

执行以下编译器命令,优化级别将为 –xO5


example% CC -xO3 –fast

警告

如果在不同的步骤中进行编译和链接,则编译命令和链接命令中都必须有 -fast 选项。

使用 -fast 选项编译的代码不可移植。例如,在 UltraSPARCIII 系统中用以下命令生成的二进制文件在 UltraSPARCII 系统中无法执行。


example% CC -fast test.cc

不要将该选项用于依赖 IEEE 标准浮点运算的程序,否则可能会产生不同的数字结果、过早的程序终止或意外的 SIGFPE 信号。

在早期的 SPARC 发行版中,-fast 宏扩展到了 -fsimple=1。而现在扩展到 -fsimple=2

在早期发行版本中,-fast 宏扩展到了 -xO4。而现在扩展到了 -xO5


注 –

在早期的 SPARC 发行版中,–fast 宏选项包括 –fnonstd,但现在不包括。非标准浮点模式不用 –fast 进行初始化。请参见《 数值计算指南》和 ieee_sun(3M)。


另请参见

-fns-fsimple-ftrap=%none-xlibmil-nofstore-xO5-xlibmopt-xtarget=native