I recently made a major computer upgrade, from my old single core Athlon 64 3000+ to an Intel Core 2 Quad q6600. It's an all new system but the CPU is the heart of it, and it's what I want to focus on here. In particular the issue of whether there's any point to getting a quad core CPU yet. The argument goes like this. For the same money you could spend on a quad core, you could get a dual core CPU with a faster clock speed (or a dual core with the same speed that costs less). You'd think four slower cores versus just two faster ones would be a no brainer, but the problem is many programs can't deal with all those cores. Many still can't use more than one, and I'm disappointed to have learned that even things that can use two can't always use four. I'm also a big computer gamer, and actually the situation is the same there. It's beside the scope of what I want to cover here, but unfortunately even though computer games have gotten so power hungry that many of them could make good use of four cores, they generally still can't. Some gamers have chosen to go with faster dual core setups and it may be giving them a performance edge in the short term. There's another advantage in that dual core CPUs overclock better, but that's something I don't want to get into now (although I'm happy to report that I've pushed my Q6600, which runs at 2.4 gigaherts stock, to 3.2 gigahertz relatively painlessly. That's a modest overclock compared to what can be done with some dual cores, but it's still pretty good for how little I had to work to get it). I want to address Photoshop CS3 for this post. I've done some research, and done some crude tests. Basically, it appears that much of the time Photoshop can't even use two cores. The tests that I've read showed identical speeds between a quad and dual core system running at the same speed. My guess is that many of the novelty filters, the artistic effects and such, are largely unoptimized and unchanged from their earlier incarnations. And the tests probably used those filters. I've read that the TIF file IO routines aren't multi threaded (multi threading is what is required to be able to use multiple cores), but that the PSD file IO routines are. I've found one area where it clearly seems to be using them all. RAW file processing. It responds a lot faster when I adjust one of the sliders in the RAW processing window, and it's similarly speedy when I tell it to process the file and spit it into Photoshop. I can see it using all four cores in the task manager during that process. Third party filters are unpredictable. Almost all of the ones I've tested so far are strictly single core only. Only one made use of all four cores. I was particularly disappointed to find that the HDR processing program Photomatix Pro lacked multi threading capability. They state it upfront on their site, claiming that the kind of processing that their program does wouldn't benefit and would in fact slow down if you let it use multiple CPUs. I don't buy that explanation. I don't know the details of the processing, I can't comment on the technical validity of their claims, but I can say that what I'm seeing when I run it is a classic case of something that wants more CPU power but can't access it because it lacks multi threading. In this case the program DOES use all four cores, but it only uses a fraction of each of them, amounting to a total of 25% total utilization. For some reason things that lack multi threading can still run on multiple cores, but they end up being limited to using a fraction of the available power as if they're still limited to using no more than one total CPU's worth. This is a disappointment because HDR processing is slow. I was really hoping that that would speed up. The situation I find myself in is a weird one. Some things, like RAW file processing, happen a lot faster. Other, sometimes simpler processes, feel slower, closer to what they were like on my old system. My system has great potential, but not everything can make use of it. Most of my cores spend most of their time relatively idle. Even when I'm playing the one game I have that is known to make use of four cores I still see at least two cores living lives of leisure. Yet I don't regret the quad core choice. I knew this would be the situation. Programmers are having enough trouble adapting to dual core programming. Now they have to adapt to even more. It'll take time. My gamble was that although I'd have some under utilized cores in the short term, in the long term my system should ultimately grow in capability as programming styles adapt. If you're looking at a system upgrade and are interested only in what it can do NOW, quad core is probably more than you need. They use more energy, generate more heat (which may be why they're harder to overclock, as you speed them up they generate more heat, and the quads are generating more heat to begin with), cost more, and in general don't give you the performance gain that you'd expect from having fully twice as many cores. There are few exceptions to that rule. But they are there. In particular 3d rendering applications snap up all the CPU power you can give them. But seeing as this is a photography related forum I'm focusing on that area of application. On the other hand I think the price of the quad core chips is outrageously good. For example, at newegg.com (which has the best prices I'd found when I was looking) my CPU, the Q6600, is going for $280 for a retail package (I specify that because you can get it for less in an OEM package but that may mean it doesn't include any warranty). You can get an E6600 (a dual core chip that runs at the same clock speed and is thus comparable) for $230. That's a no brainer in my book. Twice the cores for $50 more. Or you could go for an E6850 running at 3 gigahertz for $275. The overclocking crowd is sometimes favoring that one, it starts out faster and can generally be pushed farther. I apologize if this ended up bringing up more questions than it answered, but it's a complex situation. But after all the research I did on quad core computing I wanted to pass something on, since photo editing can sometimes be a processor intensive process and we all want more speed. My approach has been that I wanted as much processing power as I could get so that this system would last as long as possible. Plus, I can't deny it.. I just like the idea of having FOUR cores to play with. I can run VMware and run other operating systems at the time I'm using XP Pro, my main OS. I can watch a DVD in the background without any of my other applications even noticing it. I could load up a distributed computing project, and, say, run protein folding simulations or look for signs of alien communication, and still have enough CPU power for almost anything. And even if it's not generally making full use of all the cores, Photoshop is still SO speedy now. You wouldn't know it with my photo output lately, but I've been busy tweaking the system, transferring stuff from the old system, and loading up some games that used to run slowly and cackling with glee when they run smoothly.
That's what I heard as well... I don't think a lot of our programs have been written to take advantage of the extra speed, and if that's the case, then it may not be worth the extra money yet...
i am so glad i found this, am ready ( almost) to upgrade and was considering the $$ of a dual core vs the quad...gives me more food for thought. thanks for the insite. any ideas if things have improved since this was written last yr?
I don't know that a sufficient number of programs (outside of the few CPU intensive applications like 3-d rendering, video editing, or some of the better optimized computer games) have added adequate multi core optimizations for the matter to have changed. It's a matter of how much it costs versus how much of a benefit it would give you. That depends on what you do with your system and what your needs are as well as how much you're willing to spend. For me I still think quad core was the right choice, although if I'd have waited even a few months I could have gotten a next generation 45nm CPU for roughly the same price as I got my 65nm quad and been getting similar if not superior performance with less power utilization. Practically speaking, though, I think the majority of PC users would be fine with "just" two cores. I say "just" because we're still in a period of transition between single and multi core optimizations and many things still can't use even two cores. If Photoshop CS4 and all the third party filters are rewritten to have multicore support from the ground up for all functions it WILL run faster, and perhaps for real power users who layer on filter after filter that will make a difference. Casual users may not even notice much of a change. For the moment, though, I'm running with a lot of excess CPU power, I can do just about anything while simultaneously participating in distributed computing and running global climate models or protein folding calculations (or at least I could until I lost half my memory, I still need to deal with that and send in the dead stuff). I continue to hope that the situation will change, the only question is which comes first, mass adoption of multi core optimizations or my next upgrade to a newer CPU? I don't quite have my finger to the pulse of the programming world, I don't really know. In the gaming world this year is supposed to see the release of a revolutionary new game that makes unprecedented use of all available cores, not just for graphics but for more in depth physics modeling, but let's just say that it's from Microsoft and I have my doubts about anything associated with them. I hope that within a year the situation will be different, but again, that's only regarding applications that need extra power in the first place. I don't know if a web browser stands to gain anything from a multi-core optimization.