Someone recently asked me something along the lines of “Why don’t you tell us what’s better, an E4300 or a quad-core?”
This raises a very interesting point: figuring that out is going to become a lot harder in the future.
It used to be that you could get a big bump in performance out of a CPU from just a process shrink. Those days are over. Raw speeds will continue to go up, but expect to see increases more like 10% than 50%.
CPU manufacturers will continue to shrink processors for other reasons (more chips per wafer, lower power), but not primarily or even much for performance.
No, for the reasonably foreseeable future, boosts in performance will come from more CPU units working smarter, and that’s going to take software capable of handling that.
Let me repeat, the key question won’t be “What improvements does X processor have?” but “Can my software use it?”
A few examples:
Certainly by sometime next year, quad-cores will be mainstream. The big question for many will be, “What’s better, a quad-core that can run at X, or a cheaper dually that can run somewhat faster than X?”
It’s really not a hardware question; it’s a software question: Can your important software take big advantage of two extra cores? If it can, quad is the obvious answer, if not, it will be dual.
It doesn’t stop there. AMD beefed up its FP hardware for K10. Intel will introduce SSE4 with Penryn. Which is better? Again, that’s a software question, what improvements can your most beloved software use?
Yes, these kinds of instructions have been around since MMX, and yes, software writers have historically been much less than rabid in taking advantage of them quickly. In an age when faster and faster CPUs rose all boats, they could afford to be a little lazy.
However, in a day when these kinds of improvements will become the only means to increase performance dramatically, whether your program uses or will shortly use X instructions is no longer a usually-neglected question, but THE question.
Let’s pretend for a moment that your big program is DivX. Right now, Intel has a significant but not huge edge over AMD for this program. Both K10 and Penryn are about 10% faster clock-for-clock than their predeccesors, so that’s a wash.
However, an SSE4-optimized DivX blows away anything and everything; it’s like having a 6GHz+ processor in your box.
Is that likely to be a typical improvement, even for programs that are promising candidates for SSE4? No, but it points out the need to know if features like multithreading and SSE4 have arrived or are coming soon to a program near and dear to you.
Unfortunately, software developers tend to be rather closed-mouthed about whether or not the next generation or update will use these improvements.
I think that’s going to change.