本文主要是介绍高性能计算——编译器标志和目标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编译器标志和目标
文章目录
- 编译器标志和目标
- 优化级别
- 指定目标
- 多版本函数
从编译器获取高性能的第一步是通过超过一百种不同的编译器选项、属性和指令来请求它。
优化级别
GCC中有四个半主要的优化速度级别:
-O0
是默认的,不进行优化(虽然从某种意义上说,它确实优化了:优化了编译时间)。-O1
(也被别名为-O)进行了一些“触手可及”的优化,几乎不影响编译时间。-O2
启用了所有已知几乎没有负面影响且完成时间合理的优化(这是大多数项目用于生产构建的选项)。-O3
进行非常激进的优化,启用了GCC中实现的几乎所有正确的优化。-Ofast
做了-O3
中的所有事情,再加上一些可能破坏严格标准合规性的其他优化,但对大多数应用程序来说并不关键(例如,浮点运算可能被重新排列,导致结果在尾数中偏离几位)。
还有许多其他优化标志甚至没有包含在-Ofast
中,因为它们非常特定于情境
这篇关于高性能计算——编译器标志和目标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!