Musings on just about everything.

Menu

Mac Pro performance

I’ve been torturing myself with the idea of buying a Mac Pro for a while…I mean, come on – 8 cores, for $2799? So last week, I finally broke down and pulled the trigger. But of course it didn’t stop there – I added another 10GB for a total of 12GB of RAM, and added a couple of disk drives as well.

It certainly “feels” fast – but I wanted to actually make some measurements, to see if it was just my imagination. I could run benchmarks, but that didn’t sound like much fun. So instead, I ran a process in Adobe Lightroom 1.3.1 to create 1:1 previews for 211 raw images (compressed NEF format from a Nikon D200), which is roughly 1.75 GB of files.

Here’s what I did. And yes, I’m apparently geeky enough that this sounded like fun. :-)

On the Mac Pro and the Macbook Pro, I generated these 1:1 previews in an existing Lightroom catalog with about 12,000 images in it. On all other systems, I generated the previews in a brand new catalog with nothing in it other than these 211 photos.

All of the virtual machines mentioned below are using VMWare Fusion, running on the Mac Pro.

* – not sure why this process on the Pentium D only seemed to be using a single processing core, that’s what happened when it ran.

Clearly the Mac Pro is pretty darn fast, and Lightroom interestingly appears to use up to 4 processing cores. The VM data was interesting to see, as well; I can run Windows XP in a VM dramatically faster than running it on my (admittedly old) Dell XPS 400. I wish I had a Core 2 Duo windows machine handy that I could try this on – would be interesting to compare that data with the virtualized Xeon processors on the Mac Pro.

@John – not sure what you mean about running the same thing in Leopard? The Mac Pro and Macbook Pro are both running Leopard (10.5.2)…

@Martin – I don’t have Parallels, although I could probably download a trial.

As for boot camp – that’s a good idea, and would be a great data point…unfortunately, it kinda sounds like a lot of work (since I’d have to install windows fresh on that partition, whereas I had the VM images laying around). I’ll look around at the office and see if I can find a C2D Windows machine I can borrow for a bit.

There’s one large puzzling omission. Since you go to great lengths to document the usage level of each processor type, I’m surprised you did not mention the disk types and their throughput at all.

When you generate previews for an app like Lightroom or Aperture or Bridge etc from RAW files, one of the major determinants of performance is how quickly the app can read the raw file off disk and then how fast it can write the big preview back out. This is going to have as much of an effect on the throughput as anything. It can sometimes be the ultimate bottleneck of the process, yet the attention is on the processors, which could be waiting for data both coming from and going to the disk. In other words, some of the performance differences in your CPU measurements may be reflecting disk bottlenecks which are not accounted for, especially when a poor little 2.5″ laptop disk is involved in such a demanding read/write operation against the heavy-duty disk subsystem of a Mac Pro.

Everyone seems so obsessed with multicore, when performance in this type of app always stands on the three legs of CPU, RAM, and disk. You got the first two covered, but the third is missing in action. If this was comparing Final Cut or Photoshop, then the scratch disk setup would be absolutely critical to the performance comparison, so if you ever branch out your tests that way, don’t leave that out.

@Ted – actually, in this particular workload, disk performance doesn’t make that big of a difference. Even in the case where a 1:1 preview could be generated in 1 second (faster than any of these scenarios), that means the system needs to read 1 raw file per second, and write one 1:1 preview per second (and likely make one database update). That means reading roughly 10 MB/sec, and writing some level less than that (and these numbers were verified during the tests).

So even a 2.5″ laptop disk can comfortably keep up with this. The particular operation I was testing here is CPU-bound.

Generating regular previews is a different animal – in that case, it appears to be much more I/O intensive.

In any case, for the sake of completeness…the Mac pro had 3 disks – one for system, one for photos, and one for the Lightroom database. And the Macbook Pro had a single internal drive. All of the VM’s had a single virtual disk, mapped to the MP system drive.