此选项是一个宏,可以有效地用作优化可执行文件的起点,从而获得最佳运行时性能。-fast 是一个宏,随编译器发行版本的升级而变化,并扩展为目标平台特定的多个选项。可使用 -# 选项或 -xdryrun 检查 -fast 的扩展,并将适当的 -fast 选项结合到正在进行的可执行文件优化过程中。
该选项是一个宏,选择编译选项的组合用于在编译代码的机器上优化执行速度。
该选项通过扩展到以下编译选项,为大量应用程序提供了几乎最高的性能。
表 A–5 -fast 扩展
选项 |
SPARC |
x86 |
---|---|---|
–fns |
X |
X |
–fsimple=2 |
X |
X |
–nofstore |
- |
X |
-xarch |
X |
X |
-xbuiltin=%all |
X |
X |
-xdepend |
X |
X |
–xlibmil |
X |
X |
–xlibmopt |
X |
X |
–xmemalign |
X |
- |
–xO5 |
X |
X |
-xregs=frameptr |
- |
X |
–xtarget=native |
X |
X |
-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