我已经获得了有关Visual C#2008 的硬数据。简短的版本是,您最好将钱花在更快的CPU上,而不是更快的I / O上。答案更长……
我们的C#(.NET 3.5)解决方案包含81个项目,这些项目的代码行超过200万行(包括注释和空白行)。几年前,我们从具有标准HDD的Pentium 4 3 GHz PC升级到具有10,000 RPM WD Raptor HDD(74 GB)的Core 2 Duo 2.6 GHz PC。加速是巨大的。大约10分钟缩短至3.5分钟。所有这些都在具有4 GB RAM的Windows XP Pro 32位环境中进行。
我们还获得了一个技嘉i-RAM(有关信息,请访问Google),它基本上是具有电池备份功能的RAM硬盘。与可快速读取但写入速度较慢的SSD不同,i-RAM两者均可快速读取,但如果断电,则电池只能使用约12个小时,因此必须严格检查签入内容。与10,000 RPM Raptor HDD相比,Core 2 Dou平台的编译时间又减少了一分钟(减少到2.5分钟)。
从那以后,我发现那些旧的74 GB 10,000 RPM Raptor驱动器比您的花园品种的7,200 RPM现代驱动器稍慢,并且我们证明了一致地进行基准测试编译。我们还没有尝试过新的Velociraptors,但是它们肯定会更快,但可能不足以仅在编译时值得。
上周,我们获得了一个新的Intel Core i7-870平台,该平台具有G.Skill Falcon 128 GB SSD(带有Indilix Barefoot控制器)和一个标准500 GB HDD作为第二个驱动器。我还把i-RAM插入这台PC并测试了所有配置。
与Core 2 Duo相比,HDD的编译时间为3.5分钟,i-RAM的编译时间为2.5分钟,而i7-870的SSD,HDD和i-RAM的编译时间为1秒40秒,而i7-870的编译时间为3秒。
因此,在两次升级开发人员工作站的过程中,C#编译时性能的绝大部分提高都来自于更快的CPU而不是更快的磁盘。如果您想加快编译时间,请将您的钱投入到CPU中而不是磁盘中。
也就是说,SSD可以更快地加载Visual Studio和打开解决方案(尽管我还没有时间安排)。如果您负担得起SSD,那么您将永远不会回头,因为PC上的每个程序加载速度都非常快,这简直令人难以置信。但这不会显着加快编译速度。这就是Visual Studio C#是单线程的。如果微软采取行动,使他们的编译器在IDE中成为多线程,那么我们实际上可以使用这四个核心...
2012年5月更新:我们现在根据关注CPU性能之前所学的知识再次升级了PC。新的PC具有超频至4.6 GHz的Intel Core i7-2600k CPU,Intel 510系列120 GB SATA III SSD,16 GB RAM和大型CPU散热器!令人惊讶的是,这几乎使编译时间减少了一半,我当然可以将其归因于CPU能力的大幅提高,而不是更快的SSD。
Visual Studio 2010中的C#编译性能结果为:
- 159秒:Intel Core i7-870股票(2.9-3.3 GHz),带有SATA II SSD的4 GB RAM
- 109秒:Intel Core i7-2600k股票(3.4-3.8 GHz)16 GB RAM和SATA III SSD
- 84秒:Intel Core i7-2600k超频(4.63 GHz)16 GB RAM和SATA III SSD