这是一个相当普遍的问题。
什么硬件设置最适合大型C/C++编译作业,如Linux内核或应用程序?
我记得读过乔尔·斯波斯基的一篇关于固态磁盘实验之类的文章。
我是否必须拥有更多的CPU功率,更多的RAM,或者像固态一样的快速硬盘IO解决方案?例如,为标准系统提供一个“正常”硬盘,然后使用固态进行编译,这样会方便吗?或者我能买很多内存吗?CPU到底有多重要,还是仅仅停留在编译时间的大部分时间?
也许这是个愚蠢的问题,但我在这个领域没有太多的经验,谢谢你的回答。
这里有一些关于SSD问题的信息,
发布于 2009-10-11 20:02:45
我觉得你需要足够的东西。CPU是非常重要的,编译可以很容易地并行化(使用make -j
),所以您需要尽可能多的CPU核心。然后,RAM可能也同样重要,因为它为编译器和提供了更多的“工作空间”,从而允许对IO进行缓冲。最后,当然,驱动器速度可能是最不重要的三内核代码是大,但不是的大。
发布于 2009-10-11 20:03:19
当然,这不是一个愚蠢的问题,正确调整构建测试环境会让很多人头疼。
硬盘性能可能会排在第一位。我将远离固态驱动器,因为它们只对大量但数量有限的写入操作进行评级,而进行干净的构建周期将对其产生影响。
更重要的是,您能否利用并行或共享构建环境-来自内存ClearCase和Perforce机制来处理共享构建。除非您有并行化构建系统,否则拥有多个CPUs将是毫无意义的。
最后但并非最不重要的一点是,我怀疑构建时间是否是限制因素--更有可能的是,您应该专注于测试系统的需求。在你看实际金属之前,试着设计一个适合你实际工作的构建测试系统--你的构建多久一次,涉及多少人,你的测试系统有多大.
https://stackoverflow.com/questions/1551588
复制相似问题