Sun Studio 12:Fortran 编程指南

9.1.1.2 -On

除非显式指定 -O 选项(或使用类似 -fast 的宏选项隐式指定),否则编译器不会执行任何优化。几乎在所有情况下,在编译时指定优化级别都会提高程序执行性能。另一方面,优化级别越高编译时间就越长,并有可能显著增加代码长度。

对于大多数情况,采用 -O3 级别可在性能增益、代码长度和编译时间之间取得良好的平衡。-O4 级别将同一源文件中所含例程调用的自动内联添加作为调用者例程,除此之外它还会做一些其他事情。(有关子程序调用内联的进一步信息,参见《Fortran 用户指南》。)

-O5 级别会增添更多积极主动的优化技术,这些技术在更低级别不适用。一般而言,仅对于那些构成程序计算强度最高部分并因此而具有较高性能提高余地的例程,才应为其指定 -O3 以上的级别。(将用不同优化级别编译的程序部分链接起来,不存在任何问题。)