关注c++编译速度
来源:互联网 发布:apache无法访问子目录 编辑:程序博客网 时间:2024/06/05 11:41
早在今年的9月,我的一个项目,就面临着编译时间超长的问题,昨天我做过编译速度测试,使用 vc7.1,cl.exe在Rebuild过程中,cpu时间消耗近10分钟,整个项目多大呢?仅仅8000多行代码(当然,不包括一些底层库),而自己的另外一个近6万行代码的项目,rebuild一次也只需要3分钟左右的时间。
其实原因自己也很清楚,使用了过多的template,include了很多不必要的头文件,等等
但一直都没有下决心来改善这个问题,前几天看到云风关于c++预编译头文件的评论,他提到要对头文件进行优化,不应该学windows那样,为了方便,把所有东西全部都放在windows.h中。
我也试着对头文件进行了一次优化,首先将不必要的头文件尽量从基础头文件中清除(我项目里,一般都有一个BaseDef.h,类似MS的stdafx.h),考虑到一些实现的需要,将很多可能会用到的class,在BaseDef.h中声明出来,如果有文件确实需要使用到该class,在相应的源文件内include 该class 的定义头文件
这样下来,我的那个8000多行代码的项目,编译速度大约提高了近两倍,cpu时间消耗3分钟多一点
这样还是不够,我仔细的观察vc的编译输出,发现有一系列文件编译速度很慢(这个只能凭眼睛来看,不知道有什么方法来得到每个.cpp的编译消耗......),找到它们编译过慢的原因(include的一个头文件里面,使用到了boost.,而且,include了boost的头文件.....),接下来就是对该头文件进行优化,终于把boost的头文件移出该头文件
这样下来,我再rebuild一下项目,发现cpu消耗仅仅50多秒,比最初提高了10倍多,爽阿~~~
其实,编译速度也是可以优化的:)
- 关注c++编译速度
- 关注下micropython1.4.5的pendsv.C以及如何提高编译速度
- 编译速度
- 如何加快C++代码的编译速度
- C语言:关注EOF
- C语言:关注EOF
- C语言:关注EOF
- 加快笔记本编译速度
- 提升编译速度
- 提高编译速度办法
- 加快Android编译速度
- 提高编译速度
- 提高编译速度
- ccache编译速度很快
- android加快编译速度
- 提升Android编译速度
- xcode编译速度优化
- 加快Android编译速度
- 介绍一个绝佳的图形开发开源库.Freeimage.dll
- 专用虚拟局域网(PVLAN)技术与应用
- 关于c++类成员函数覆盖
- VLAN新用途
- 2005-12-3 (晴转多云)
- 关注c++编译速度
- 闹洞房新招二十八式
- 分享交换机VLAN配置基础及实例
- 秋天里的忧伤!(转载:作者:落落紫尘)
- 访问一个数据库服务器的多个数据库对象
- 美女机器人惊艳国际机器人展
- sql数据库连接查询
- ISA 2004 介绍
- Report: Google gets 1,000 resumes for 50 jobs in China