SSD, Visual Studio and improving developer productivity

0 Comments

After reading lots of reviews, articles and watching a few youtube videos comparing Solid State Drives to Hard Disk Drives, I was unsure that’d see a beneficial improvement in my day-to-day developer tools of Visual Studio, such as building and spinning up desktop and web applications.

I was unsure because there is a consensus of small writes to SSDs aren’t as breathtaking as the reads and writes of larger files:

SATA-based SSDs generally exhibit much slower write speeds. As erase blocks on flash-based SSDs generally are quite large (e.g. 0.5 - 1 megabyte), they are far slower than conventional disks during small writes (write amplification effect) and can suffer from write fragmentation.

- Wikipedia

But these things are fast at everything else, and while mulling over the idea of upgrading for a few months, I started to notice my usage patterns of switching between lots of different supporting applications. Given that’d I’d get improvements elsewhere if not in Visual Studio, I decided to try it out for myself.

The SSD I chose is the Corsair CMFSSD-64D1, otherwise known as the Corsair Extreme Series X64:

Corsair Extreme X64 Solid State Disk

Here are the timings I took with the original Samsung 80GB 7,200rpm drive, and the timings from the Corsair Extreme X64:
(all timings are in seconds, so lower numbers are better)

boot from cold to login prompt logging in pressing enter to ready starting outlook to 'All folders up to date' loading VS2008 to news feed loads loading solution 8 project web solution rebuild solution until build status says 'build complete'
Samsung HDD 42.3 190.8 14.7 25.2 72.0 79.0
Corsair X64 SSD 32.6 75.8 5.5 7.9 19.1 52.5
22.8% 60.3% 63.0% 68.4% 73.5% 33.5%

Conclusion

Overall, the SSD performs 53.6% faster - that means my machine is twice as responsive as it was.

However, the most important savings to me are loading, and building solutions - I’ve only been running the SSD for a couple of days, but already I have shaken the reflexive pause I felt before closing or restarting Visual Studio, or opening up different solutions.

Granted, building or compiling decent sized projects in Visual Studio on an SSD is not as impressively fast as spinning up applications (Outlook, Paint.Net or Dreamweaver for example), or the improvement in general system responsiveness.

I now get 3 complete builds for 2..  put simply, it’s almost fast enough to remove the build waiting tax. It’s fast enough that I don’t lose my train of thought and context switch to something else - which makes me more productive.

Method

Timings were taken manually with a stop-watch, and averaged over 3 data points on different days.

  • The Windows logging in timings include a start-up anti-virus scan.

System Specification and software versions:

  • Intel Pentium 4 HT, 3.0 GHz
  • 3 GB RAM
  • Windows XP 32bit (HDD timings), Windows 7 32bit (SSD timings)*
  • Outlook 2007
  • Visual Studio 2008 Team System Developer Edition
  • The 8 project web solution is the fantastic invoice management software called SNAP, written in C# .Net 3.5

* yes, I’d have loved to have done an apples-to-apples comparison by copying the exact same Windows XP installation over to the SSD, and I was all set to do so, except the Samsung HDD had a series of faults around the ~36GB mark that resulted in an XP installation that would only boot into Safe Mode.

I had taken the timings the week before I found this out, and with a clean SSD it seemed crazy not to take the opportunity to upgrade to Windows 7. I suspect that had I stayed on Windows XP, the speed improvements would have been more impressive.

Fortuitously, the Corsair SSD arrived the same morning that the Samsung HDD exhibited the fault. (I know what you’re thinking, and no, it definitely wasn’t sabotage.. the SSD was on order for 2 weeks prior, and wasn’t due to arrive for another 3 days)

The Solid State Drive upgrade is a definite improvement, and I don’t think I’ll be buying Hard Disk Drives any more