此选项是一个宏,可以有效地用作优化可执行文件的起点,从而获得最佳运行时性能。-fast 是一个宏,随编译器发行版本的升级而变化,并扩展为目标平台特定的多个选项。可使用 -dryrun 或 -xdryrun 选项检查 -fast 的扩展,并将 -fast 的相应选项结合到正在进行的可执行文件调优过程中。
该选项是一个宏,选择编译选项的组合用于在编译代码的机器上优化执行速度。
该选项通过扩展到以下编译选项,为大量应用程序提供了几乎最高的性能。
表 A–5 -fast 扩展
选项 |
SPARC |
x86 |
---|---|---|
–fns |
X |
X |
–fsimple=2 |
X |
X |
–nofstore |
- |
X |
-xarch |
X |
X |
-xbuiltin=%all |
X |
X |
-xcache |
X |
X |
-xchip |
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 的扩展包括 -D_MATHERR_ERRNO_DONTCARE。
要在任何平台上显示 —fast 的扩展,请运行命令 CC —dryrun —fast。
>CC -dryrun -fast ### command line files and options (expanded): ### -dryrun -xO5 -xarch=sparcvis2 -xcache=64/32/4:1024/64/4 \ -xchip=ultra3i -xmemalign=8s -fsimple=2 -fns=yes -ftrap=%none \ -xlibmil -xlibmopt -xbuiltin=%all -D__MATHERR_ERRNO_DONTCARE |
-fns、-fsimple、-ftrap=%none、-xlibmil、-nofstore、-xO5、-xlibmopt 和 -xtarget=native