首先介绍下编译器所提供的编译优化功能,这些都比较简单:
普通优化
Linux |
功能 |
-O0 |
禁止优化 |
-g |
生成标记 |
-O1 |
优化二进制代码 |
-O2 |
优化速度(默认) |
-O3 |
优化数据缓存 |
过程间优化
Linux |
功能 |
-ip |
优化编译单个文件 |
-ipo |
通过内联函数优化交叉编译多个文件 |
自动并行优化
Linux |
功能 |
-parallel |
对某些代码做自动并行优化 |
-par_report[n] |
记录优化过程,汇报结果 |
基于CPU的矢量化优化
Linux |
功能 |
-Xw |
为Pentium4等支持MMX、SSE和SSE2指令的处理器做专门优化 |
-xP -axP |
为Core等支持MMX、SSE、SSE2和SSE3 |