Sun Studio 12:C 用户指南

B.2.16 -fast

此选项是一个宏,可将其有效用作为尽量提高运行时性能而调整可执行程序的起点。-fast 是一个宏,可随编译器发行版本的升级而更改,并能扩展为目标平台特定的选项。可使用 -# 选项或 -xdryrun 检查 -fast 的扩展选项,并将 -fast 的相应选项结合到正在进行的可执行文件调节过程中。

-fast 的扩展选项现在包括新的 -xlibmopt 选项。该选项使编译器可以使用优化的数学例程库。有关更多信息,请参见B.2.99 -xlibmopt

-fast 选项会影响 errno 的值。有关更多信息,请参见2.10 errno 的值

-fast 编译的模块必须也用 -fast 进行链接。有关在编译时和链接时都必须指定的所有编译器选项的完整列表,请参见A.1.2 编译时选项和链接时选项

–fast 选项不适于计划在编译机器之外的其他目标机器上运行的程序。在这种情况下,请在 -fast 后附带相应的 -xtarget 选项。例如:


cc -fast -xtarget=ultra ...

对于依赖于 SUID 指定的异常处理的 C 模块,请在 -fast 后附带 -xnolibmil


% cc -fast -xnolibmil

使用 -xlibmil 时,通过设置 errno 或调用 matherr(3m) 无法标记异常。

–fast 选项不适于要求与 IEEE 754 标准严格一致的程序。

下表列出了 -fast 在各平台中选择的选项集。

表 B–5 -fast 扩展选项标志

选项 

SPARC 

x86 

-fns

-fsimple=2

-fsingle

-nofstore

-xalias_level=basic

-xbuiltin=%all

-xdepend

-xlibmil

-xlibmopt

-xmemalign=8s

-xO5

-xprefetch=auto,explicit

-xregs=frameptr

-xtarget=native


注 –

有些优化对程序行为进行特定假定。如果程序不符合这些假定,应用程序将会崩溃或产生错误结果。请参阅各个选项的描述,以确定您的程序是否适合用 -fast 编译。


由这些选项执行的优化可能会改变由 ISO C 和 IEEE 标准定义的程序的行为。有关详细信息,请参见特定选项的描述。

–fast 的作用与命令行上的宏扩展相同。因此,您可以通过在 -fast 后附带预期的优化级别或代码生成选项来覆盖优化级别和代码生成选项。使用 -fast -xO4 对编译类似于使用 -xO2 -xO4 对编译。后者优先。

请勿对依赖于 IEEE 标准异常处理的程序使用此选项;否则会产生不同的数值结果、程序提前终止或意外的 SIGFPE 信号。