An important message is that a Pentium D works as fast as a single core Pentium 4 at equal clock speeds. However, our synthetic benchmarks unmask the slower memory bandwidth of the Pentium D, which is caused by the concurrent FSB and memory access of both cores. As you can see in the benchmark section, this is of minor importance only, since real world benchmarks are not affected. Due to the lower clock speeds of the Pentium D, however, a fast Pentium 4 will remain the faster chip under classic, non-thread-optimised software.
There is a lot of software out there that simply won't be able to benefit from Intel's dual core products any time soon. Many of them are, I'm sorry to say, popular games such as Doom 3, Far Cry, Unreal Tournament 2004, Quake III Arena or Return To Castle Wolfenstein. All these titles will run at the speed of a single core processor except for the fact that background tasks will be running unnoticed. Fortunately, a 3.2 GHz processor should usually be fast enough for this today.
In this context, the Extreme Edition's Hyper Threading feature does not make any difference. Software such as the MPEG2 encoder Main Concept, our Divx and Xvid compression tests and the CPU test of PC Mark 2004 actually run slower with HT enabled.
Itanium failed, I think, mainly because Microsoft didn't provide the software push to make it happen. Intel's hyper threading is so successful that most people turn it off -and for the same reason: Microsoft hasn't kept up with the hardware. What I see here, with Intel's token dual core machine, is that same dismal cycle repeating.
On the surface, all of the Unix variants seem to do better. Solaris for x86 gets about twice as much work done on a dual core AMD as it does on a single core - and without changes in the software. Linux is getting pretty good at this too, and Apple's Darwin BSD variant has already shown similar scalability on dual core 970MP prototypes.
What's really going on here, however, is that Unix is inherently a multi-user, multi-processing system designed to function as a shared resource and that focus is reflected in community norms and expectations. In contrast, Microsoft's operating systems products from MS-DOS 1.0 forward have taught people to think in terms of single user computers. As a result, the Unix community thinks a machine with two CPUs should do twice as much work as a machine with only one, but Windows people expect it to go twice as fast.
Thus multi-core looks like a good CPU architecture for Unix, but not Windows because Microsoft can't yet make processes run twice as fast by using twice as many CPUs. In effect, Windows/XP itself may now be multi-threaded but its users aren't -they still mostly just want their process, singular, to go faster.
In the longer run, there's research going on to make this happen, but in the short term the absence of wetware support for dual core in the Microsoft community suggests that it may be a dead end - moving competition away from CPU and memory improvement and toward something else, perhaps simply graphics processing, where gains can still be made without forcing the users to rethink either what it is they want or why they want it.