哪些PC组件对Visual Studio的编译时间影响最大​​?


Answers:



13

我发现最大的不同因素不是物理因素,而是软件因素:您安装了哪种防病毒软件?

一些防病毒产品不能很好地处理软件开发-他们看到所有这些应用程序文件都被重写,怀疑存在误操作并每次都重新扫描每个文件。

(有关更多信息,请参见/programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129。)

另一方面,如果您想提高现有计算机的性能,那么最好的方法就是充分利用可用内存来快速赢得胜利。


办公室中的PC正在使用趋势科技防毒墙网络版。我家里的开发笔记本电脑正在使用AVG8。–
罗伯·艾伦

3
“趋势科技”。噢亲爱的。如果您无法将其更改为其他功能,请完全告别任何演奏。
Bevan

8

这是Scott Hanselman所做的一些不错的研究,涉及将多个CPU用于MSBUild。提速非常引人注目。

编辑:但是,我应该注意,为了拥有使用Visual Studio的良好体验,您需要大量RAM。:)


+1关于该主题的好文章。我忘记了。我想他也为此做了一个播客。
BinaryMisfit

4

我在一个相当大的C ++代码库中的亲身经历:

旧机器

处理器: Pentium 4 HT 3.06 GHz
内存: 1 GB DDR RAM(PC 2100,所以333 MHz)
磁盘: 7200 RPM硬盘驱动器(如果有内存,则为UDMA 100)
编译时间:50分钟

新机:

处理器:酷睿i7 720QM(8个逻辑处理器)在1.6 GHz的,涡轮增压至1.73千兆赫,当所有核活动
内存: 8 GB DDR3 RAM在1066 MHz的
磁盘: 7200转硬盘(SATA 2)
编译时间:4分钟(用/ MP


结论:即使在相对较低的时钟速度下,处理器越多越好。SSD可以进一步改善时间,但是从对编译消息的观察来看,我怀疑它可以将其缩短30秒钟左右。


3

据我记得主要是处理器和内存。一个快速的谷歌确实揭示了各种可以改善编译时间的调整。

Joel最近在此处发布了有关固态磁盘对编译的影响的文章。磁盘速度通常不会大大提高编译时间。然而,根据这个确实有,通过指出的效果lyngbym


1

对于构建C ++程序而言,首先要考虑的因素是结构性的-如果源代码高度垂直地结构化,它将对构建时间(尤其是增量构建)产生毁灭性影响。我在本地对项目的一些部分进行了重组,以在四核Xeon上进行显着改进。18个月后,即使在Core i7机器上,他们(项目的所有者)仍然无法匹配我的挂钟构建时间。

软件布局的效果(正面或负面)在团队的每个成员及其执行的每个构建中成倍增加。


您是否有一个描述不同代码结构的链接。我想我知道您在说什么,但我不确定。
罗布·艾伦,2009年

我在查找引用时遇到了麻烦,但是总体思路是:1)在可能的情况下使用前向声明; 2)仅在前向声明不起作用时才包含文件; 3)确保所包含的文件没有声明更多事情超出了必要,这反过来可能会使它包含更多的文件,而这些文件对于正在编译的特定源文件来说是不需要的(aka保持标头较小,并像对源文件一样使用它们中的前向声明)。
山姆·哈威尔2009年

1

Xoreax IncrediBuild是一个分布式构建系统,在我工作的编译时间上有了很大的改进。(不幸的是,链接时间仍然很长,特别是使用整个程序优化和链接时代码生成的发行版本,但这是可以预期的。)

替代文字

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.