Solid State Disks may seem like a luxury reserved to high end or noise free PCs, but can they improve your productivity? Let's find out!

Test configuration:

  • - Intel Core i7 2500k
  • - AsusP8P67 Rev 3.0
  • - 4Gb ram PC12800
  • - SATA3 Western Digital Caviar blue 1 Tb hard disk
  • - SATA3 Crucial M4 64Gb SSD
  • - Ubuntu 11.04 64bits


The 2 disks are partitioned roughly the same :

  • - a 250 Mb /boot partition
  • - a 8Gb swap
  • - a 50+ GB Ext4 root partition

Apparently the way you partition your disk can affect performance. Just in case, I followed the instructions I found here.
I copied the Western Digital HDD root partition to the Crucial root partition and updated /etc/fstab and grub. This way I'm sure I have the exact same operating system on both hard disks.
I also added the discard option to the /etc/fstab SSD entries to ensure the TRIM will happen correctly on my SSD.

Raw performances

With the hdparm -tT command, we can measure the absolute speed of each disk:

Western Digital HDD

Timing cached reads: = 11092.48 MB/sec
Timing buffered disk reads= 129.09 MB/sec

Crucial SSD

Timing cached reads: 23146 MB in 2.00 seconds = 11584.70 MB/sec
Timing buffered disk reads: 1046 MB in 3.00 seconds = 348.37 MB/sec

So The SSD is nearly 3 times as fast as the HDD! That's a good start, what does it change for real life applications?

Boot time

The first obvious performance impact should be the boot time. In order to get accurate results, we will use bootchart. Bootchart checks loading and execution times of various processes involved in the boot sequence. It draws nice graphics and is a bit more reliable than just timing the boot process.

Booting on the HDD

HDD boot time

Booting on the SSD

SSD boot time

Bootchart clearly shows when that with a regular hard disk, the system spends a lot of time waiting for I/Os.
And the reported boot time is 8.21 seconds with the SSD and 21.26 seconds with the HDD! In practice, it takes less than 10 seconds between the time I press enter in Grub and the time when Gnome is up and running, it's less than the BIOS takes to start Grub from a cold boot!

Compilation

Booting quickly is nice, but a lot of people only boot their machine once a day. Let's take the case of a C/C++ developer and see how a SSD improves compilation time.
I used the time command to measure the compilation time, and the compilation tests were launched just after a boot, to minimise all the "caching" that could happen involuntarily. Compilation was set up to use 4 simultaneous jobs (make -j 4). The latest Kernel (2.6.39.1) and Qt examples (4.7) were used for this test.

SSD impact on compilation time The performance boost is not as obvious as for the boot time, but still, your code should compile 10% faster if you use a SSD.
Although it is not in this graphic, I did some tests with Git, it involved adding the kernel source to a git repository and committing all the files. Maybe this task was not intensive enough because I couldn't see any improvement when using the SSD rather then the HDD.

Conclusion

So a SSD can give you a good 10% performance boost when compiling C/C++ projects and make you boot twice as fast.
SSD are still expensive, but if you already have the best CPU your motherboard can take, it is the easiest way to increase the reactivity of your PC.
Also, SSD are supposed to be good at multiple simultaneous random accesses, and this exactly what happens when you have multiple cores doing different tasks. This test was done with a 4 cores CPU, if we repeated it on a core i7 2600k (8 cores), I would expect the SSD to bring an even bigger performance boost.