免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3878 | 回复: 9
打印 上一主题 下一主题

关于分布式编译的问题,请大家出出主意。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-31 19:31 |只看该作者 |倒序浏览
我们的代码编译一次需要好几个小时,效率太低。boss要求采用分布式编译的办法来降低编译时间。

请问各位有没有相关经验或者想法?

论坛徽章:
0
2 [报告]
发表于 2010-05-31 22:16 |只看该作者
用的是gcc 2.96的交叉编译器,目标CPU是PowerPC。我们都是在Windows平台上编译的。所以这个分布式编译,我也希望能在Windows平台上搞。我们的系统是用C写的。

我有个初步的想法,主控PC机上先把各个C文件进行预处理后,生成可编译的不依赖头文件的单个文件,然后把单个文件发送到分处理机上去编译成.o目标文件,最后把目标文件返回给主控机。

想请各位给点儿意见,谢谢!

论坛徽章:
0
3 [报告]
发表于 2010-05-31 22:45 |只看该作者
回复 2# buxoman


    distcc 应该可以。不过根据我的经验,最好还是买台好一点的服务器来做build server。双cpu,每个cpu 4 core/8 thread,一般够用了。在同样性能的情况下,这样总成本会比较低 (机器成本,人力成本,电费,空间,setup和维护复杂性)。

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
4 [报告]
发表于 2010-06-01 14:56 |只看该作者
升级机器。。。

论坛徽章:
0
5 [报告]
发表于 2010-06-01 15:42 |只看该作者
makefile在用么?每次都clean么?

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
6 [报告]
发表于 2010-06-01 16:35 |只看该作者
对于makefile的感受是,如果修改了一个共用的头文件,将是一个很费时的编译过程

论坛徽章:
0
7 [报告]
发表于 2010-06-01 21:02 |只看该作者
回复  buxoman


    distcc 应该可以。不过根据我的经验,最好还是买台好一点的服务器来做build serve ...
jzhang918 发表于 2010-05-31 22:45



    很不幸,从硬件上想办法,已经被否决了。

   所以只能用PC机来想办法。

论坛徽章:
0
8 [报告]
发表于 2010-06-01 21:05 |只看该作者
对于makefile的感受是,如果修改了一个共用的头文件,将是一个很费时的编译过程
EricFisher 发表于 2010-06-01 16:35



    说起这个,也是很让人恼火。

由于没有加强这方面的管理,导致现在的整个makefile系统把头文件依赖关系搞乱了。

比如,很多人在头文件中会采用长长的链式宏定义,

// file1.h
#define A   5
//file2.h
#define B   A
// file3.h
#define  C B

在这种情况下,如果只是对A做一个修改,不会引起另外的头文件的自动更新。

论坛徽章:
0
9 [报告]
发表于 2010-06-01 23:50 |只看该作者
很不幸,从硬件上想办法,已经被否决了。

   所以只能用PC机来想办法。
buxoman 发表于 2010-06-01 21:02



    那就试试 distcc 吧,应该可以满足你的要求。

论坛徽章:
0
10 [报告]
发表于 2010-06-02 09:24 |只看该作者
头文件?C++里面最恼火的就是这个!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP