Comment Also, cache performance will be less predictable (Score 2, Insightful) 222
Remember that each of these processing cores will have to share their memory bandwidth and possibly level 2 cache as well. As it is Intel's EM64T Xeon processors really feel the bandwidth bottleneck in their memory interface and can easily saturate it.
What you're saying is, for applications with poor cache performance, multi-core processors will be no better than single-core. Personally, I can live with that. Most of the processor developments of the last 10 years have favored applications with good cache performance.
What worries me is what happens when the OS schedules a process with good cache performance on one core, and a process with poor cache performance on the other core. Unless the cache does something special to prevent it, the "bad" process will completely deplete the cache, causing the "good" process to slow way down.
I recently worked on a real-time program for the Pentium IV, and we found that our worst-case performance was actually 4-5 times worse when hyperthreading was enabled, because our process would occasionally have to share its cache with something that was heavily memory-bound.