6

I've seen various suggestions that hard disk speed is a big factor in Visual Studio compilation performance.

There is now a relatively cheap hybrid hard drive available called the Seagate Momentus XT.

This has a 7200 RPM hard disk of 250, 320 or 500GB and a 4GB SLC NAND SSD.

Has anyone tried this in their development machine? Did it improve performance? What kind of factor improvement was there?

Or is it the case that the hybrid hard drive cannot optimise typical compilation hard drive usage, i.e. performance is no better than a standard hard drive?

RickL
  • 2,811
  • 3
  • 22
  • 35
  • I think [this article](http://www.joelonsoftware.com/items/2009/03/27.html) describes the SSD performace in relation to compilation times you're asking about. – GSerg Aug 11 '10 at 09:53
  • That's Joel's experience, but he doesn't say what compiler he is using. I've seen other links, e.g. http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx – RickL Aug 11 '10 at 10:09

3 Answers3

3

Hard disk speed is a large factor when initially loading the project, but for every compilation run after that, a machine with sufficient RAM doesn't need to touch the hard disk at all - all your source files will be cached by the OS.

Copying libraries and temporary files (.obj) around may still be problematic, but SSDs don't help with small file writes that much. Moving the obj/ directory to a RAM disk can be more efficient (without having to buy new hardware) if I/O really is a problem - but it usually isn't.

Check your CPU usage during compilation. If it's close to 100%, an SSD or hybrid disk won't help you at all, you simply need a faster CPU.

Daniel
  • 15,944
  • 2
  • 54
  • 60
  • 1
    When I compile in Visual Studio, the CPU usage goes up and down, but I would not say it is 100%. I have a dual core CPU, and it only uses 1 core during compilation - I would estimate average total CPU usage during compilation to be 25%. – RickL Aug 11 '10 at 10:08
2

Here are some real stats...

A VS2010 master solution file containing 120+ projects (110 C#, 10+ VB). A mixture of web/class/test etc projects.

Momentus 7200.3 320GB drive

  • Solution load time = 2min 25sec
  • Solution rebuild after clean = 4min 10sec

Momentus XT 500GB drive

  • Solution load time
    • 1st pass = 1min 40sec
    • 2nd pass = 1min 15sec
  • Solution rebuild after clean
    • 1st pass = 3min 46sec
    • 2nd pass = 3min 27sec

At most 17% improvement in build time and 50% improvement in VS load time.

A RAID-0 setup using 10k Raptor drives provides far superior improvements in build times though highly volatile due to the lack of redundancy. Sorry, no stats...

teck
  • 21
  • 1
1

I'd only consider doing this after you've already got enough ram in your machine. Consider putting your target files and temp files on a ram disc if the write IO causes a problem (which it should not if you've got enough ram).

I'm guessing it's cheaper and probably less disruptive (they don't need to move everything to a new HD) to buy your team an extra 8G of ram each for their workstation and get ramdiscs configured.

MarkR
  • 62,604
  • 14
  • 116
  • 151