« links for 2007-09-05 | Main | Priorities »

Mac Pro Performance

A few weeks ago, I ran some performance tests to see how fast various machine and OS configurations would convert a standard video clip from one format to another. This is a task I do a lot and a task that I knew would determine if I bought a convenient MacBook Pro or a Mac Pro powerhouse.

What you see below are the results of the few simple tests with some analysis on why I think I saw the performance I saw.

The 8-core Mac Pro that I’m using for these tests has some limitations. It’s not fast at all things. First, it has a single 7200rpm SATA drive. This drive is not nearly as fast as, say, a set of 2 15000rpm SAS drives configured in a RAID0. The Mac also has 2GB of memory which seems like a lot at first, but really isn’t that much when you’re dealing with 20k photos, a lot of video, and heavy apps like Photoshop and Illustrator. As memory gets low, the slow disk comes into play as the OS pages stuff that’s not used onto disk so it can execute stuff it does need in memory. When this happens a lot we call this thrashing. This happens to me sometimes. One day, I’ll upgrade to 4 or 8GB of memory and get rid of this problem.

That said, when memory usage is low and the CPU cores are full of instructions, the machine yields pretty decent performance.

A friend sent over a link which looks at the performance gain you can expect by going from a dual-core system (e.g. Intel Woodcrest) to a Quad-core system (ala Intel Clovertown). The author correctly states, IMHO, that the only tasks that will really benefit from the additional cores are rendering and encoding tasks.

Like the author, I notice that my 8-cores are essentially idle when playing a game like World of Warcraft. CPU utilization looks something like this:

Wow Busy Cores

The reason for that is probably because most of the work is happening on the video card and the CPU is just loading 3D objects onto the card, dealing with user input and sending and receiving udp datagrams.

AVHCD Encoding to AppleTV Format

The main test that I performed (on a decent number of machines) was to convert a 74MB AVHCD file at 720p resolution to the AppleTV H.264 format. Here are the results:

QuickTime AppleTV encoding times

All times are in seconds. As you can see, the 3.0Ghz Clovertown Mac Pro beats everyone. I should note that the author in the previous link was not using the special 3.0GHz Clovertown that’s found in my Mac. In general, Clovertown systems have clock speeds slower than the 3.0GHZ common speed found on most dual-core Woodcrest machines.

During the 58-second rendering process, my cores looked like this:

Busy Cores

Oooh, that’s a sweet sight to see!

Plus, the machine was completely usable. I was even in iPhoto publishing lots of photo events to .Mac and I felt like the machine was essentially idle. I have found that this kind of multitasking seems better implemented on the Mac than it does on the PC. Though, I must admit that I’m a bit subjective in my opinion.

DVD Encoding to Apple iPod Format

Handbrake My second test involved the great dvd ripper, Handbrake. I had a 23-minute clip on one of my DVD’s and I decided to pit my humble MacBook (Core Duo) against my Octocore Mac monster. The results were not surprising. The Mac Pro beat the MacBook by a factor of 5.6x:

Dvd Encoding

There are some gotchas with Handbrake that I had to play around with to get the results I wanted. If you play around with Handbrake, you see that it has de-interlacing capabilities. The settings are None, Fast, Slow, Slower, and Slowest. If you use one of the “slow” settings, the rendering process becomes serial in nature and Handbrake is essentially only able to use a single core for its work. This drastically slows down the rendering process.

Since I could not really tell the difference between the Fast and Slow modes, I decided to use the fast mode since I was able to burn a huge number of DVD’s in a single day.

Some Analysis

The better performance of the Mac Pro system when compared to he MacBook and some of the other systems tested is a combination of multiple factors:

  • Clock speed of CPU
  • Presence of accelerated encoders**
  • Clock speed of memory
  • Clock speed of front-side bus
  • Size of L2 cache
  • etc.

** I saw some interesting results in the Handbrake log file: [info]: using cpu capabilities: MMX MMXEXT SSE SSE2.

On the MacBook, I saw the same message (meaning the MacBook supports the same Intel multimedia extensions as the MacPro), but I also saw this:

“No accelerated IMDCT found”

An IMDCT is an “Inverse Modified Discrete Cosine Transform”. This is a computer algorithm that fits changes in color found in a photo or video to a sine curve set under various scaling parameters. You achieve a lot of compression doing this because it’s cheaper to say that the color changes found in a snaking path through an 8x8 block of pixels is similar to a cosine curve squeezed by 10% than it is to store each and every one of those 64 pixels. An IMDCT is a very CPU-intensive operation and if there is hardware on the video card or elsewhere that can accelerate this calculation, then this is yet another factor contributing to the speed differences between the Mac Pro and the MacBook.

Conclusion

If you’re looking to spend a premium on an Octocore mac, I would not bother unless you’re going to do these kinds of long renders. 4-cores on the Woodcrest model are more than enough for most applications, including World of Warcraft.

PS: Oh, and the DVD’s I ripped to my iPod were not copy protected. I would never…

TrackBack

TrackBack URL for this entry:
http://www.primordia.com/blog/mt-tb.cgi/817