编译性能的硬件环境

时间:2009-10-11 19:52:43

标签: performance compiler-construction hardware

这是一个相当普遍的问题..

哪种硬件设置最适合大型C / C ++编译作业,如Linux内核或应用程序?

我记得读过Joel Spolsky关于固态磁盘实验的帖子以及类似的东西。

我是否必须拥有更多CPU功率或更多RAM或快速硬盘IO解决方案,如固态?例如,为标准系统设置一个“普通”硬盘然后使用固态进行编译是否方便?或者我可以购买大量的RAM吗? CPU有多重要,还是只是在编译时间的大部分时间?

可能这是一个愚蠢的问题,但我在这个领域没有很多经验,谢谢你的答案。

以下是有关SSD问题的一些信息

2 个答案:

答案 0 :(得分:2)

我认为你需要足够的一切。 CPU非常重要,编译可以很容易地并行化(使用make -j),因此您需要尽可能多的CPU内核。然后,RAM可能同样重要,因为它为编译器提供了更多的“工作空间”允许缓冲IO。最后,当然驱动速度可能是三者中最不重要的 - 内核代码很大,但 大。<​​/ p>

答案 1 :(得分:2)

绝对不是一个愚蠢的问题,正确调整构建测试环境会让很多麻烦消失。

硬盘性能可能位居榜首。我会远离固态硬盘驱动器,因为它们只能用于大量但有限数量的写入操作,并且制造清洁构建周期将会对它产生影响。

更重要的是,您是否可以利用并行或共享构建环境 - 从内存中ClearCase和Perforce具有处理共享构建的机制。除非你有一个并行构建系统,否则拥有多个CPU将毫无意义

最后但并非最不重要的是,我怀疑构建时间是限制因素 - 您更有可能将注意力集中在测试系统的需求上。在您查看实际金属之前,请尝试设计一个适合您实际工作方式的构建测试系统 - 您的构建频率,涉及的人数,测试系统的大小......

相关问题