Aperture SSD Performance

I plan to write a lot about iOS development on my blog but I wanted to kick things off with some articles about photography.  I've been a photographer for more than 12 years and I've been shooting sports professionally for 5 years.  Photography is one of my passions and it's even better when it synergizes with my other passion: computers.  Below is an article I posted on Macrumors to test my hypothesis that an SSD would improve performance in some areas of Aperture usage.


I finally made the jump to an SSD for my primary volume, so I thought I'd share some of my experience with using it for Aperture so far. A while back, a lot of people told me that they thought SSDs would have no bearing on Aperture performance. The assumption was that most Aperture tasks are CPU bound (preview processing, exporting) so the SSD wouldn't offer much benefit. I decided to put this to the test using my own setup and workflow.

First, my setup. I'm using a 2010 3.2GHz Mac Pro with 13GB of RAM. I am using a referenced master's library configuration. The library package resides on the main volume (MacPro HD) and the masters reside on a 2TB RAID-1 mirrored volume (MacPro RAID). 

My basic workflow with Aperture is this. After returning from a shoot I import everything from the CF card (using a FW800 CF reader) into a new project. I mostly shoot sports, which is on a deadline, so I am typically editing immediately without waiting for the import to finish. This means that I am scanning through thumbnails and full size images before they are processed or cached. It's critical that this process doesn't hang or lag at all because I generally don't want to wait for the import to finish (especially on projects involving 2000+ photos). 

For the test I used a 1000 photo set from a trip I just took to India. I completed my import and basic editing process first with my library on a 1TB HD, and then again with the library on a 480GB SSD. In both tests I downloaded all the images from the CF card during the import. While the import was in progress I timed several benchmarks using a stopwatch (I admit this is not very scientific). I also continually scanned through thumbnails and full sizes to gauge the overall "feel" of each system. I also took a few other non-import related measurements that I feel are worth including.

So, here's the results.

Mac Startup Time: 56s
Aperture Startup Time: 39s
All Photos Load Time: 12s
All Projects Load Time: 22s
Import Thumbnails (and metadata): 1:28
Copy All Images to Masters Directory: 1:50
Total Import Time: 3:20 (sum of two previous steps)
Process Embedded JPEGs: 2:57
Process All Images (previews): 14:25
Load 10 Previews (select an image, wait for it to fully load, right arrow to the next, wait, repeat): 17.4s

Notes: during this process scrolling locked up frequently. It was difficult and frustrating to flip between images. Tapping an image often resulted in a 4-5 second beach ball cursor. 

Mac Startup Time: 21s
Aperture Startup Time: 10s
All Photos Load Time: 12s
All Projects Load Time: 8s
Import Thumbnails (and metadata): 12s
Copy All Images to Masters Directory: 1:51
Total Import Time: 2:20 (sum of two previous steps)
Process Embedded JPEGs: 1:57
Process All Images (previews): 12:30
Load 10 Previews (select an image, wait for it to fully load, right arrow to the next, wait, repeat): 15.1s

Notes: There were never any hangs of any sort while flipping between images during the import process. Tapping on an image resulted in an instant preview followed 2-3 seconds later by a full quality image.

I think the summary is that there is definitely a performance benefit to having the Aperture Library metadata on an SSD. I think the initial project import time is the best example. From 88s to 12s, a 6x improvement in performance. I have no doubt the hangs in performance with the HDD during this time were a result of the disk head moving back and forth writing metadata, previews, etc. and then having to seek back to find some bit of metadata from the library for a given image before showing it's preview in the viewer. For me, the lack of hangs and freezes during import make the SSD a huge win. I also like the faster startup time for Aperture, as well as more-quickly loading large projects (or multiple projects, like all photos). So yes, while exporting (or as shown in this example, preview generation) don't really benefit from the SSD, I still think it's worthwhile to use one with Aperture.