高级优化
更高的优化级别可能会对性能产生巨大影响,但在代码大小、编译时间、资源需求以及数字或算法精度方面可能需要进行一些权衡。
在应用了基本优化并成功编译和执行应用程序后,您可以应用更强大的优化工具。 XL 编译器优化产品服务组合包含许多用于指导高级优化的选项,并且应用程序所经历的变换在很大程度上由您控制。 表 1 中有关 每个 优化级别的讨论包含有关性能优势和可能的权衡的信息,以及有关如何帮助指导优化器为应用程序找到最佳解决方案的信息。
当您使用下列任何一组选项来编译程序时:
- -qhot -qignerrno -qnostrict
- -O3 -qhot
- -O4
- -O5
vdnint, vdint, vcosisin, vscosisin, vqdrt, vsqdrt, vrqdrt, vsrqdrt, vpopcnt4和 vpopcnt8除外。 如果编译器无法向量化,那么它会自动尝试调用等效的 MASS 标量函数。 对于自动矢量化或标量化,编译器使用系统库 libxlopt.a中包含的 MASS 函数的版本。除上述任何选项集外,当 -qipa 选项生效时,如果编译器无法对其进行向量化,那么它会在决定调用 MASS 标量函数之前尝试内联这些函数。
