So the quad cores invaded the market. Now it does sound good on paper.
I see many people pick it and suggest it with the only excuse of "quad core cause it's quad, man, four times teh power! it's the future, games will perform so much better etc etc.".
but how much of this is really true?
i understand that if i have multi-core i can assign a task to a specific core, saying i can have one core encoding a divx movie, another rendering a cad drawing and still be playing Crysis in another core without hassle, etc. that's in theory, at least for me.
But i assume memory and hard drives will be hilghly demanded executing those tasks simultaneously, and will eventually drag out the system overall from the intensive accesses, despite using multicores. am i assuming well? So if i cant do any really highly demanding jobs cuncurrently, i'll be using single/dual core lilke 90% of the time. So if that's the case... why would i need quad core? Unless i can use different hard drives and 8GB memory....
How about gaming? I mean, it's the OS that controls the threads, not the applications. Even if the game is designed for multi-threading, the OS will still have to work with all the requests and the games are real time applications and can't really wait for cross-thread data to become available and i foresee some threading errors becoming common. It would seem logical that one CPU could handle the IA, the other the physics, and so on, but having the chance of one waiting for the other doesn't seem plausible. Not forgetting that the costs in both time and money it must involve the developers to make perfect use of multi-core optimizations. I can see them safely use 2 cores, but 4? Is it plausible? Quad cores just came out, how long will it take for game developers to completely understand and make use of stable multi-core gaming in masses? Even if they do, what is the real benefit? Will that time be further away than current quad-cores' lifetime?
So, bottom line... at this point and for the next 2-3 years, does it make sense having a quad core system for gaming over a duo core for real effective performance increase? Is "quad cause it's quad" a reasonable statement? Or since i'll be using single core most of the time, i should invest in a faster CPU and more ram?
but you are right, it comes down to what you'll be using after all. and i believe over 90% of people using quad will 90% of the time be using single-CPU (except when the OS takes care of it automatically, without always being necessarily needed).
i'm really curious about quad over duo, and if you pressure more than 2 cores to make heavy duty, how will the system, globally, behave (namely because of memory and HDD concurrency).
so i read FSX is highly dependant on core speed and makes use of multi-core. but does it make use of all four? would 4 be far better than 2? how much? 100%? 50%? 25%?
same for running virtual pc with Exchange... i suppose you can only put Virtual PC in a separate core (not 2 or 3), so how does quad outperforms a dual there?
Those are VERY open ended questions. How much memory do you have? What video card are you using? What speed is your memory? And while some versions of virtual pc/virtual server/vmware/gsx server do not utilize multi threading, some do.
To many variables exist. So why limit yourself to a dual core when you can get a quad?
As someone that work's at writing code for a living let me first correct some of the things you said. This will paint a clearer picture:
>i understand that if i have multi-core i can assign a task to a specific core.
You can but it's the OS does that for you most of the time.
> Even if the game is designed for multi-threading, the OS will still have to work with all the requests and the games are real time applications and can't really wait for cross-thread data to become available and i foresee some threading errors becoming common.
Yes, coding for a multithreaded environment is harder than for single thdeaded but going from 2 to 4 or 8 doesn't add any complexity regarding thread synchronization.
Advances in CPU manufacturing make possible to have the CPU frequency increase together with the number of cores. For example I used ho have a P4 at 2.56 that got replaced by a C2D at 2.93 and now with a C2Q at 3.2. You see that even with apps that aren't threaded I get a benefit. I can now run the same app (slightly) faster than before. I can also run many single threaded apps concurrently without performance degradation (up to the number of cores). And the best case scenario is to run multi-threaded apps concurrently.
I agree that the availability of threaded apps has been slow to realize but it will get better. But even without them you can benefit from a multicore processor.
Quad does not always mean 'better'. Optimized applications that take advantage of four cores will beat a dual core as it can complete four jobs at once, however if the application is not optimized, like most current applications, it will be surpassed by a dual core of similar or higher clock speed.
The bit about assigning each core a specific task sounds awesome but it is just not practical. The CPU will process information as it gets it and will only switch to processing another task if it is more important than the current one, as this is the fastest method.
but what applications use / make sense of using four cores, and which concurrency will not hurt memory/hdd access? pure algorithmic applications?
single application in single core sounds absolutely logical, but why would a program like Adobe Photoshop run in one thread and then calculate the outcome of a filter in another? what "average" application can take_real and significant_ use of multiple cores.
which applications are out there which make use of multiple cores, and which ones can we predict than in the 2-3 years inteval (time it takes for new versions of software to come out) will take real benefit? in other words, what sense is tehre in Quad _now_ if their complete benefits will only be explored by the time Octo or more are out there?
Intel is still releasing Duo cores for just a notch of price under the Quads...
@zerapio: you say games can make use of 4 cores with the same code complexity as with 2. but it's still the OS making that choice, i presume... but each thread will be given a specific task like only worrying about IA, i presume? but what happens when the OS is running in the background other applications? will it still shift threads from one core to another depending of the workload? what if there's a significant load change right after that shift? won't they cause possible cross-thread delays or, in worst case, locks?
Video encoding is my reason for getting a quad. performance scales near linearly.
A Q6600 at 3.0ghz (a very mild OC), is roughly 3x faster than my 2.0ghz X2 3800+ at encoding x264
@Underclock: Threading in games is purely up to the developers to implement. There is no "standard" way of coding a threaded game engine.
Even with my 3800+ though, x264 loads both of my cores to 100% (while batch encoding this can be running for over 24 hours!). I can still fire up a movie and firefox while x264 has all of my cores loaded, windows is just as responsive as if there were no load at all. The only thing is that x264 drops its performance slightly... to be expected though...since playing a movie takes ~10% cpu usage thus x264 running at ~90%.
i've been checking those charts for many different applications, and most of them (except pure benchmarks and some encoding), the 8500 normally takes the lead (well, it's 3Ghz vs 2,4...).
so for the "day-to-day" use, straight-out cpu speed from a faster duo will beat a slower quad. i mean, i'm with a 3.0Ghz single core right now and i don't have any problems with normal use...
duo technology has been around for at least 2 years... why arent we seeing yet quads being massively used by applications and games? intel is still releasing duo's and announcing octos and such, but the developers arent catching up with the technology advancements (now that's new!!!).
so evidently two high thumbs up for quads at encoding stuff!
I agree totally with you. Encoding is one of very situations a quad will give an advantage, once you roll out all the costs. Its a shame that Intel wont be releasing 1: any dual core faster than the 8500 and 2: a dual with a unlocked multiplier. I think theres resons for this. Its not the way threy want to go. This getting a quad gives me more Ghz just isnt so. Anyone knows that the heat produced from a dual is less than half that of a quad. The area of a quad makes it much more difficult to cool as well. Knowing that thermals are much lower on a dual, and easier dealt with, a dual will not only oc better than a quad, but can be rated higher out of the box. Why isnt there a unlocked multiplier? Anyone asking that? This is ONE proof that quads are being shoved at us. Its subtle, but it shouldnt be here, in the realm of the enthusiast