Coding Horror

programming and human factors

Quad Core Desktops and Diminishing Returns

Dual core CPUs were a desktop novelty in the first half of 2005. Now, with the introduction of the Mac Pro (see one unboxed), dual core is officially pass. Quad core-- at least in the form of two dual-core CPUs-- is where it's at for desktop systems.

Task Manager with 4 CPUs

And sometime early next year, the first true quad core CPUs will hit the market.

I think there are clear multitasking benefits in a dual-core configuration for typical computer users. All you need to do is run two applications at once, and who doesn't do that these days?

However, the benefits from moving to quad-core and beyond are less clear. Effectively utilizing 4 or 8 CPU cores requires extremely aggressive multithreading support within applications. How aggressive? Rewrite your entire application in a new language aggressive. That's a much more difficult problem. It's also not a common optimization, except within very specific application niches.

Dual CPU desktop systems weren't twice as fast as single CPU desktop systems. But they were a substantial, worthwhile speed bump. With quad CPU systems, we've hit the point of diminishing returns.

Current benchmark data definitely bears this out. I distilled results from these GamePC and TechReport reviews of the Opteron 275 (dual core 2.2 GHz), which also included the Opteron 247 (single core 2.2 GHz). It's an apples-to-apples comparison between Dual and Quad configurations of an Athlon 64 running at the same speed-- 2.2 GHz.

  Dual CPU Quad CPU  
3D Studio Max 7.0 Radiosity Render 239 144 1.7 x
POV-Ray chess2.pov 144 87 1.6 x
Cinebench 2003 Rendering 571 1021 1.8 x
Alias Maya 6.0 Zoo Render 49 43 1.1 x
Photoshop CS Filter Benchmark 146 131 1.1 x
Flash MX 2004 MPEG import 37 35 1.1 x
Windows Media Encoder 9.0 MPEG to WMV 125 119 1.1 x
Xmpeg/DivX encoding 71 75 1.1 x
LAME 3.97 WAV to MP3 69 67 none
Apache 2.0 10k user stress test 1397 1478 1.1 x
Apache 2.0 50k user stress test 1346 1875 1.4 x
Sysmark 2004 226 242 1.1 x
Half-Life 2: Airboat chase 95 96 none
Doom 3: Site 3 timedemo 164 166 none
3DMark05 5244 5244 none

I eliminated most of the synthetic benchmarks; I tried to focus on real desktop applications that people actually use. The Sysmark 2004 results are particularly telling.

However, the results I did find are so poor that I wonder if any quad CPU system is good for much more than bragging rights. Of the desktop apps, only three truly benefit from a quad CPU configuration: 3D Studio Max, POV-Ray, and Cinebench 2003. Notice a pattern? Rendering and encoding tend to parallelize well.

Unless you're often running a specific application that is optimized for multithreading, there's no compelling reason to run out and buy a quad-CPU desktop system today. And I don't see that advice changing over the next few years. At least, not until the state of software development changes quite radically to embrace multithreading across the board.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror