CentOS 下 GCC 性能调优策略
一 编译器选项与优化等级
二 构建流程与工程实践
三 运行时与系统层面的优化
四 版本选择与可移植性
五 常用选项速查表
| 目标 | 推荐选项 | 说明 |
|---|---|---|
| 通用性能基线 | -O2 | 在编译时间与性能间较稳健的折中 |
| 追求更高性能 | -O3 -flto | 更激进优化与跨单元优化,编译更慢、内存占用更高 |
| 体积敏感 | -Os | 减小体积,利于缓存与嵌入式 |
| 快速调试 | -Og -g | 保留调试信息,关闭影响调试的优化 |
| 本机极致性能 | -march=native | 针对本机 CPU 指令集与特性 |
| 浮点加速(需评估) | -ffast-math | 放宽数学合规换取速度,可能影响可重现性 |
| 构建加速 | -j$(nproc)、ccache、PCH、distcc | 并行、缓存、预编译头与分布式编译 |
| 精简二进制 | -ffunction-sections -fdata-sections --gc-sections | 删除未使用代码与数据 |