Benchmarking SSD performance in OSX
Apple started providing an SSDs as an optional extra in 2008 with the launch of the Macbook Air, and you can also spec the new Macbook Pros with SSDs, but it has remained silent on whether OS X supports TRIM. We asked its UK PR team and were told it didn't deal with such technical queries. Debate has run rife on various forums as to when Apple will add TRIM support, and whether OS X actually needs it. This speculation was given further fuel by a recent update which added a "TRIM support" yes/no field in the OS X System Profiler app for SSD equipped Macs.
We decided to test OS X's SSD performance for ourselves to see whether SSDs in Macs suffer from the performance degradation you see on Windows systems. First up, deciding on the Mac to use: while you can build a 'Hackintosh' system from standard PC components easily enough, but as this isn't officially sanctioned by Apple, these machines are much less common than Macs with SSDs and more importantly, there'd be no guarantee of the reliability of any results. Apple only supports certain configurations of hardware, and we felt we should respect that.
While Apple's UK PR team couldn't answer our questions about TRIM, they were happy to send us a Macbook Air with an SSD in it for testing. Apple sells two models of the Air, one of which features a 128GB SSD as standard. It also has a 2.13GHz Core 2 Duo, 2GB of RAM and a GeForce 9400M GPU.
According to the OS X System Profiler (see image below), the SSD which came with our Air is an Apple SM128. It's actually a rebranded Samsung MMDOE28GXMSP (
tech specs here). This is a SATA 3Gbps device, and Samsung specs it as having a 90MB/sec sustained read speed and 70MB/sec write speed. There's no mention of it supporting TRIM in the spec doc. According to system profiler, it doesn't support TRIM.
Left: OS X's System Profiler now shows a TRIM Support field. It was set to "No" on our test Macbook Air.
As all of our testing for SSDs takes place using a Windows 7 test rig, we had to find new benchmarks that worked under OS X. What we're interested in testing was the speed of sequential reads, sequential writes, random reads and random writes, as well as access times for reading and writing. First, the bad news: we couldn't find a single OS X app that supports recent Mac hardware which could give us access times in seconds - if you know any, let us know! (There is an OS X build of IOMeter, but it's only for PowerPC Macs.)
When it came to testing read and write speeds however, we found several OS X benchmarks. We quickly discarded
Xbench as it's not been updated since 2006 and has been widely discredited by the Mac community. Next up was the
AJA system test. This was developed to test the performance of video capture cards, but it's handy way of disk testing - there's nothing wrong with it, but we found it was bettered by two other benchmarks, Quickbench and Disktester.
Quickbench allows separates out the speed of writing different sized files to the disk, just like the ATTO disk benchmark we use on Windows. This is important as drives can perform significantly different when writing small 4KB files than when writing 1MB files. Quickbench can also perform its tests over multiple cycles and then take an average; it also has a simple and friendly UI, making it an excellent choice for benchmarking.
We also tried
Disktester. It has a command line interface in addition to its GUI, but we found it was more orientated towards testing drive reliability than performance.
The Macbook Air we received from Apple had previously been sent to other reviewers, so we first needed to get the SSD into a "clean" state. While we have an established way of doing with Windows systems - using HDDerase to perform a low level format - we needed to find a way of doing this with OS X. The OS X installer actually allows you to load an app called Disk Utility, which can partition and format the drive - and one of the options is for a format which zeroes all the data.
A Macbook Air with a 128GB SSD will set you back £1,378
According to Apple, "
the "Zero all data" option... takes the erasure process to the next level by converting all binary in the empty portion of the disk to zeros, a state that might be described as digitally blank." The next level? Count. Us. In.
Once done, we installed OS X 10.6 and then ran system updater to install the latest patches. Next, we added the entire hard disk to Spotlight's (the system wide search) exclusion list, so that indexing wouldn't disrupt our results. Finally, we disabled all the power saving options we could so that system wouldn't be tempted to put the disk to sleep.
We then ran Quickbench using a '5 cycle' loop of its Standard Test, three separate times, rebooting in between each. The results below are averages of this test. Quickbench writes and reads a range of files from 4KB to 1,024KB; as is standard practice for our SSD coverage, we're presenting the results for 4KB, 64KB and 1,024KB files, plus the "Standard Averages" Quickbench generates. Quickbench tests both sequential and random reads and writes.
Once we'd done this with the clean SSD, we then proceeded to give it a damn good thrashing. As with our Windows SSD testing, we filled the SSD with around 112GB of files from a USB hard disk - the files included OS files, game installs and media. We then deleted these files, then copied them across again, repeating the process ten times, so that we'd written over 1TB of data to the SSD. Then we repeated the Quickbench tests so we could compare performance degradation in Mac OS X.
For comparisons sake, we've also included benchmarks of the Macbook Pro we use for our podcasts. It's a 2.5GHz Core 2 Duo machine from 2008 with a 5,400rpm Hitachi Travelstar 5K250 hard disk.
Want to comment? Please log in.