gcc编译优化指南-金步国.pdfVIP

  • 28
  • 0
  • 约 10页
  • 2016-03-12 发布于山西
  • 举报
gcc编译优化指南-金步国

GCC编译优化指南【作者:金步国】 /Linux/optimize_guide.html GCC编译优化指南 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何 人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条 款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,但 前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。 其他作品 本文作者十分愿意与他人共享劳动成 ,如果你对我的其他翻译作品或者技术文章有兴趣, 可以在如下位置查看现有作品的列表: 金步国作品列表 BUG报告,切磋与探讨 由于作者水平有限,因此不能保证作品内容准确无误,请在阅读中自行鉴别。如果你发现了 作品中的错误,请您来信指出,哪怕是错别字也好,任何提高作品质量的建议我都将虚心接 纳。如果你愿意就作品中的相关内容与我进行进一步切磋与探讨,也欢迎你与我联系。联系 方式:MSN: csfrank122@ 前言 网上关于编译优化的文章很多,但大多零零散散,不成体系,本文试图给出一个完整和清晰 的优化思路,同时提供在实践中如何进行优化的详尽参考。但是,在介绍所有优化知识之前 首先引用LFS-Book中的一句忠告: “使用编译器优化得到的小幅度性能提升,与它带来的风 险相比微不足道”。你还要进行优化吗? %@#=^%~*# ... OK, crazy guy! Lets Go!! 在继续之前,作者还是奉劝各位:如 追求极致的优化,那么它将是一件既耗时又麻烦的事 情,你会陷入无止尽的测试、测试、再测试……另外 Gentoo wiki 上有这么一句话:GCC has well over a hundred individual optimization flags and it would be insane to try and describe them all.所以本文不会涉及全部GCC优化选项。最后作者还是再罗唆一 句:优化应当适可而止为好,将精力留出来做一些其它事情会更有意义! 先决条件 本文的主要读者是 LFS/Gentoo 的玩家,基 上比较 crazy 的玩家都接触过,如果你之前从 未使用过 LFS/Gentoo ,请先按照 《Linux From Scratch 6.2 中文版》做一 LFS ,然后 第1页 共10页 2010-1-23 17:40 GCC编译优化指南【作者:金步国】 /Linux/optimize_guide.html 再来阅读此文将会更有意义。另外,本文是建立在 《深入理解软件包的配置、编译与安装》 一文基础之上的,在开始阅读本文之前,请先阅读它。 基本原理 我们首先从三个方面来看与优化相关的内容: 1. 从运行时的依赖关系来看,对性能有较大影响的组件有 kernel 和 glibc ,虽然这严 格说来这不属于本文的话题,但是经过精心选择、精心配置、精心编译的内核与C库将 对提高系统的运行速度起着基础性的作用。 2. 从被编译的软件包来看,每个软件包的 configure 脚本都提供了许多配置选项,其中 有许多选项是与性能息息相关的。比如,对于 Apache-2.2.6 而言,你可以使用 --enable-MODULE=static 将模块静态编译进核心,使用 --disable-MODULE 禁用不需

文档评论(0)

1亿VIP精品文档

相关文档