Under the Desktop: The Who, What, Where, and Why of System Performance
Evaluating the relative performance between content-creation platforms can be very difficult. Deciding which criteria matters is tough, and sometimes the process can even become socially disturbing (that darn Mac-vs.-Windows thing). Then again, amid all the facts and figures, it's easy to forget the most important part of the performance equation: you.
As expected, I received a blast of e-mail messages following my previous column concerning Adobe's apparent endorsement of PCs, and the raw gigahertz performance available from Intel's latest Pentium 4 processors and the PowerPC G4 found in Apple's desktop models. I also pointed out that current PC processors run faster than Macs -- and this was before this week's announcement by Advanced Micro Devices of its even faster Opteron processor that also supports 64-bit operations.
The responses came from both Mac and Windows users. Some of the Mac messages were flames and others pointed to flaws in the criteria of the tests, seeking some loophole that could eke out a victory in this race. Windows users by and large said, "We told you so."
The Turf Wars Continue
"I had no earthly idea just how fanatical and zealous Mac users were until I attended a Photoshop users convention several years ago," wrote Gerry Screven of Anniston, Ala. "I made the stupid mistake of saying I was both an Adobe- and Corel-approved service bureau that specialized in PC-platform files. Well, you would have thought I said I hated Jesus Christ or the Queen of England! I was shunned, insulted, and treated with contempt and disdain for two days."
Phooey, on both houses! Mac users can be unreasonable about their choice of platform, yet, there may be good reasons for this devotion among Mac content creators. At the same time, I agree there's no reason for bad manners. (Not all Mac users are so fanatical, either.)
"Another factor to consider is the software itself," Mac user Evan Ingersoll argued, posting on the Creativepro Voxbox for the column. "[Adobe] After Effects is effectively not multi-threaded. That is, it can't take advantage of more than one processor at a time. The proof is that you can run two copies of the AE render engine at once and basically double your speed. So the test Adobe posted is a mixed bag -- yes, high-end PCs are faster, processor-for-processor, than Macs. The current high-end Macs attempt to address this by adding more processors -- and are foiled by software like AE that doesn't take advantage of the available power."
Another Mac reader, Lawrence Stewart, asked a similar question in an e-mail: "If the test had been performed with Final Cut Pro on the Mac instead of Adobe Premiere, which machine would have been faster?"
These questions show the difficulty in creating a test to judge relative performance. Certainly, the tests show the performance of a specific application on a particular configuration. However, there's also the implication that some gain in rendering or performing another task would be a sufficient reason to switch platforms or content-creation application.
Processor performance is important, but it shouldn't be the only reason for choosing a platform for content creation. Consider, if speed were the only criteria for transportation, we'd all be driving race cars. Instead, the streets are crowded with a variety of automobiles, some big and small, fast and slow. We seek different ways to make our trip shorter, or more pleasant or efficient (like making a local run with stops at the grocery store, video rental shop and deli, on the way back from work).
Like the transportation grid, there are different routes to productivity gains by tweaking the various hardware and software components of our content-creation platform.
Where is Performance Hiding?
A platform is made up of many hardware and software layers, some of which are hidden from view such as those inside the operating system or in applications (see Figure 1). Yet, others are exposed, like that hard drive sitting on your desktop. In each layer there lie opportunities -- choices -- for speed boosts and just as important, optimization of your workflow.
Figure 1: Here's the traditional overview of the layers and virtual engines inside Mac OS X. It's packed with stuff. However, that's really just the tip of the iceberg (or really the nut inside the shell). Below this diagram would sit another more complicated illustration of the various hardware technologies in your computer. And above the diagram would be a crowd of similar images showing the components of your many applications (some you buy and others that come with your computer) and how they work together. And also missing is the user -- you.
What and where are these opportunities for performance improvement -- dare we call them bottlenecks? Working from the hardware up to the application, here's a checklist:
- Computer hardware. Here's a fundamental choice: Mac or PC. Still, within those primary divisions there are many models and options, which can make a difference to the performance of programs.
- Processor. We first think of processors being fast or slow, but there are different processor architectures to chose from and then families within an architecture. For example, vendors offer workstations with either the Pentium 4 or the Xeon processor, both made by Intel. Even Mac users face choices for processor families: the PowerPC G3 and G4.
In addition, as Ingersoll pointed out, some programs are optimized for multiple processors.
- Memory. Some models support more RAM than others, and this is especially true for PC logic boards. Some may only support 1 GB, while others 2 or even 4 GB. As always more is better.
- Storage. As I discussed in a previous column, hard drive performance can also improve the speed for some popular content applications, especially Adobe Photoshop.
- Memory bus. Some logic boards can support a faster data path between the processor and different levels of cache memory. It's something to consider, particularly when upgrading an older machine with a faster processor.
- Video cards. Video cards come with more or less memory and different processor architectures of varying speeds. Sometimes people move their older video card up to a new machine to save a few bucks, but find that it can cut performance, since newer, faster cards can take advantage of faster graphics ports on the logic board.
- Operating system. While many readers might believe that the OS is straightforward choice and dependant upon hardware, there's quite a bit of leeway here. Users can choose between different flavors of Windows or the Mac OS (or even a version of Linux), which can provide different levels of support for important technologies, such as multi-processing, various interfaces, and file systems.
The choice of OS could be important for parts of your workflow and it may also make a difference for your selection of hardware. For example, all currently shipping Mac models can only boot into OS X and can't boot into Mac OS 9.2. However, some content applications must run under OS 9 and balk at the Classic compatibility module of OS X. In this case an upgrade card for your old machine might make more sense than purchasing a new Mac.
- Application Software. Here is another area offering many choices for performance gains. As pointed out in the messages from readers above, some programs support hardware acceleration or multi-processing, while others don't.
At the same time, there's more room for productivity gains in your application than simple speed or support for hardware acceleration. Perhaps your content-creation program provides a special feature that lets you do your work more quickly and efficiently. It could also offer an easy way to add plug-ins that would bring similar benefits. For some, such "hidden" productivity considerations might outweigh the more straightforward speed gains available from running a different program or faster hardware. Suppose a plug-in shaves a whole series of steps off an everyday job? How is that time savings any different than that gained from a faster processor?
That's another kind of bottleneck, one perhaps more difficult to measure. For some, such productivity considerations might outweigh a speed gain from a different program or hardware such as a faster processor.
The Forest for the Trees?
With all these variables, it's easy to see that there's usually some room for improvement at each step, or that improvements in one area can outweigh a deficit in another, such as a slower processor. Instead, it makes more sense to work your way up the ladder, optimizing at each step, and carefully considering the total productivity picture of your individual workflow.
This last point is usually missing from the usual performance evaluation. What works for one person may not work for another. It's your workflow. How you interact with the computer interface and programs must be taken into account when considering the total performance picture of your workflow.
Content creation isn't monkey work, after all.
The response of hardware and software is an important measure of a workflow, but so is your ability to use that software to create quality images and layouts. Performance isn't always the fact that a certain application or processor is faster; rather, you could work faster by making the most effective use of your particular program and platform.
As the Talmud states: "Man is closest to himself." Productivity is more than a hardware and software equation -- it's you.
Read more by David Morgenstern