SSD驱动器和Visual Studio IDE。 大改进? 真实的使用故事,没有理论

我想要使​​用Windows 7 +英特尔SSD硬盘来加速我的Visual Studio 2008开发周期。

我想加快的领域是:

  • 编译/编译时间
  • 打开winforms / webforms的文件
  • Windows和Web的一般Visual Studio“sluggishnes”

我对Visual Studio的启动时间不感兴趣。 每GB的成本也不是问题。 我想要速度。

有没有人试过这个( SSD驱动器+ Visual Studio ),你可以告诉关于加速/降速?

我知道固态硬盘的理论,但通常布丁的certificate是在吃东西。 所以我对那些实际上用SSDtesting过Visual Studio安装程序的人感兴趣。

我已经得到了Visual C#2008 硬数据。 简短的版本是,你最好把钱花在更快的CPU上,而不是更快的I / O上 。 较长的答案如下…

我们的C#(.NET 3.5)解决scheme包含了超过200万行代码的81个项目(包括注释和空白行)。 几年前,我们将带有标准硬盘的奔腾4 3 GHz PC升级到带有10,000 RPM WD Raptor硬盘(74 GB)的Core 2 Duo 2.6 GHz PC。 加速是巨大的。 大约10分钟降到3.5分钟。 所有这一切都在一个Windows XP专业版32位环境中,具有4 GB的RAM。

我们还得到了一个千兆字节的i-RAM(谷歌它的信息),这基本上是一个RAM备份电池硬盘。 与读取速度快但写入速度慢的SSD不同,i-RAM对于两者来说都是快速的,但是如果您断电,则电池只能维持大约12个小时,因此您必须对您的入住进行纪律处分。 与10,000RPM Raptor硬盘相比,这样在Core 2 Dou平台上的编译时间缩短了一分钟(下降到2.5分钟)。

从那以后,我发现那些老式的74 GB 10,000 RPM Raptor驱动器比你的花园系列7,200 RPM现代驱动器要慢一些,而且我们已经certificate了一贯的基准testing。 我们还没有尝试新的Velociraptors,但它们肯定会更快,但可能不足以单独编译时间。

上周我们得到了一个新的英特尔酷睿i7-870平台,其中包括G.Skill Falcon 128 GB固态硬盘(使用Indilix Barefoot控制器)和标准500 GB HDD作为第二个硬盘。 我也把这个i-RAM插入这台PC,并testing所有的configuration。

与Core 2 Duo相比,硬盘3.5分钟,i-RAM 2.5分钟,i7-870在1分40秒内编译SSD,硬盘和i-RAM的时间为3秒。

因此,无论何时我们都升级了开发人员工作站,C#编译时间的绝大多数性能改进都来自CPU的速度,而不是速度更快的磁盘。 如果你想加快编译时间,把你的钱放入CPU而不是磁盘。

也就是说,SSD加载Visual Studio并打开一个解决scheme要快得多(尽pipe我没有时间)。 如果你买得起SSD,你永远不会回头,因为你的电脑上的每一个程序加载的速度都快得令人难以置信。 但是这不会显着加快你的编译速度。 这与Visual Studio C#是单线程的。 如果微软一直采取行动,并在multithreadingIDE中编译它们的编译器,那么我们实际上可以使用这四个核心。


2012年5月更新:我们现在再次升级了我们的PC,并基于我们在专注于CPU性能之前学到的知识。 新型PC的Intel Core i7-2600k CPU超频至4.6 GHz,配备Intel 510系列120 GB SATA III SSD,16 GB RAM和大型CPU散热器! 令人惊讶的是,这个编译时间几乎减半了,而且我肯定把这个降低到了CPU的马力增加,而不是更快的SSD。

Visual Studio 2010中的C#编译性能结果如下:

  • 159秒:英特尔酷睿i7-870(2.9 – 3.3 GHz),4 GB内存和SATA II SSD
  • 英特尔酷睿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

我刚刚买了一个,唯一的遗憾是我之前没有买SSD。

编译时间已经确定,但是现在整个IDE的响应速度更快。 它不仅是Visual Studio,还有其他应用程序。 当整个系统快速工作时,保持stream动性就更容易了。

作为一个testing,我们只是订购了一个基于90GB Sandforce的固态硬盘,看它是否能帮助我们的构build时间。 我们有一个大型的C ++项目,需要21分钟才能完成一个完整的重build(一个旧的Xeon 3.4 GHz盒子)。

对每个进行三次testing,构build时间差异可以忽略不计; 大约快30秒。

我们较新的(!)Xeon 5150盒(带有硬盘)在〜11分钟内重build了相同的项目,这表明编译真的是CPU绑定的。

(这让我感到吃惊,因为我认为SSD的超酷4k和512k读/写性能对构build来说是非常有利的。)

经过长时间的性能testing,我在这里得到了最好的设置,但是对于C ++编译器来说。 你会需要:

  • 适用于Windows和Program Files的 SSD(通常为C:驱动器)
  • 1 TB WD鱼子酱黑色在两个分区:
    • 驱动器D:在只有TEMP文件夹的起始圆柱体上有一个很小的(最大35GB) 你应该将你的TMP和TEMP环境variables映射到D:\ TEMP(这个非常重要!!!)
    • 行驶E:与其余的驱动器存储; 除了软件开发的东西之外,将它用于一般的数据存储
  • 1 TB WD Caviar黑色您想要存储Visual Studio 2008项目/解决scheme的任何分区布局。 基于Subversion的使用,我结束了四个分区:
    • 820 GB用于中继和通用项目
    • 60 GB的“function分支”
    • 60 GB用于产品稳定期间使用的“稳定分支”
    • 60 GB用于“产品质量分支”,用于在批准的软件上进行小修改
  • 6核或8核处理器,使用/ MP编译器切换,(不要混淆Visual Studio 2008本机“并行项目构build”function – 我不知道为什么AMD Phenon II处理器工作的很好这个组合)
  • Windows 7 64位(我不确定为什么它在64位操作系统中运行速度更快,即使使用32位编译器)
  • SATA 3兼容主板

这个设置胜过了我testing过的其他组合。

一个巨大的模块化项目的典型汇编将有以下结果:

  • 不具有/ MP和常规HDD的并行构build:大约12:00分钟
  • 这个build议的设置:4:30分钟
  • 这种设置,但交替使用WD Caviar绿色驱动器:每个驱动器+1:00(两个5:30或6:30)
  • 将TEMP分区移动到RAMDRIVE:5:30

我的结论如下:

  • 不要让TEMP文件夹在SSD中运行,因为它们是不好的“编写器”,而且在WD Caviar Black内部没有类似的64 MBcaching
  • 使用作为TEMP的专用驱动器可让两个WD驱动器并行工作:cl.exe临时文件的TEMP和用于存储* .cpp / h,* .obj,* .lib,* .exe等的项目驱动器。
  • WD Caviar黑色cachingalgorithm令人印象深刻,与SATA 6 GB / s相结合,胜过我已经testing过的TEMP驱动器的RAMDRIVE设置
  • 分区减less了对编译环境中不可避免的碎片化的影响; 对于TEMP驱动器也是一样的

我希望我能帮助你。

我刚刚通过克隆原始的5400 RPM硬盘驱动器(一个无痛的过程)升级笔记本电脑到SSD。 我使用秒表来捕捉指标前后的数据。 (戴尔Inspiron 1525,3GB内存,Windows Vista 32位)

启动/启动Windows

63秒 – > 52秒

加载我的ASP.NET Visual Studio解决scheme

换句话说,从.sln文件点击到Visual Studio完全加载的时间,您就可以开始编码了。 在进行测量之前,我这样做过一次,因为第一次总是需要比以后更长的时间。

16秒 – > 8秒。

debugging

F5到主页完全加载。

5秒 – > 3.5秒

当我买了一台新电脑时,我不确定是什么让我的体验更快。

然而,我的一个同事改变了一个7200转的硬盘驱动器的SSD。 Visual Studio(特别是启动/debuggingASP.NET)的速度至less是原来的两倍

见Joel Spolsky的文章Solid State Disks (2009-03-27)。

我也一直在考虑这个问题,而且一段时间以后,我买了一个快速的SD卡 ,我可以坚持使用笔记本电脑,并忘记了这一点,以便Windows Vista可以使用ReadyBoostfunction。 这感觉就像是有所作为,但仅仅为此而购买SSD硬盘肯定是不够的。

然后我开始在进行Subversion更新时遇到问题,并决定废除ReadyBoost的想法,并将SD驱动器挂载到一个挂载点,然后创build我的所有项目文件。 SD卡不是很大(1 GB),但是它确实减less了我的等待时间,使debugging更快一点。

这大部分是主观的,我正在回答一个需要事实的问题,用'我感觉到'和'我感觉到'。 因为我从不同的驱动器上运行Visual Studio文件的实验,我当然相信这会有所不同,多less,我愿意为此付出多less,这也是我正在敏锐地寻找答案的一个问题。 我的笔记本可以拿另外一个硬盘驱动器,在SDD和一个7200 RPM的笔记本电脑驱动器之间,我一直无法下定决心。