September 1, 2007
I'm a big fan of dual-core systems. I think there's a clear and substantial benefit for all computer users when there are two CPUs waiting to service requests, instead of just one. If nothing else, it lets you gracefully terminate an application that has gone haywire, consuming all available CPU time. It's like having a backup CPU in reserve, waiting to jump in and assist as necessary. But for most software, you hit a point of diminishing returns very rapidly after two cores. In Quad-Core Desktops and Diminishing Returns, I questioned how effectively today's software can really use even four CPU cores, much less the inevitable eight and sixteen CPU cores we'll see a few years from now.
To get a sense of what kind of performance improvement we can expect going from 2 to 4 CPU cores, let's focus on the Core 2 Duo E6600 and Core 2 Quad Q6600 processors. These 2.4 GHz CPUs are identical in every respect, except for the number of cores they bring to the table. In a recent review, Scott Wasson at the always-thorough Tech Report presented a slew of benchmarks that included both of these processors. Here's a quick visual summary of how much you can expect performance to improve when upgrading from 2 to 4 CPU cores:
The results seem encouraging, until you take a look at the applications that benefit from quad-core-- the ones that aren't purely synthetic benchmarks are rendering,
encoding, or scientific applications
. It's the same old story. Beyond encoding and rendering tasks which are naturally amenable to parallelization, the task manager CPU graphs tell the sad tale of software that simply isn't written to exploit more than two CPUs.
Unfortunately, CPU parallelism is inevitable. Clock speed can't increase forever; the
physics don't work. Mindlessly ramping clock speed to 10 GHz isn't an option. CPU vendors are forced to deliver more CPU cores running at nearly the same clock speed, or at very small speed bumps. Increasing the number of CPU cores on a die should defeat raw clock speed increases, at least in
theory. In the short term, we have to choose between faster dual-core systems, or
slower quad-core systems. Today, a quad-core 2.4 GHz CPU costs about the same as a dual-core 3.0 GHz CPU. But which one will provide superior performance? A
recent Xbit Labs review performed exactly this comparison:
2 to 4 cores
SysMark 2007, E-Learning
SysMark 2007, Video Creation
SysMark 2007, Productivity
SysMark 2007, 3D
Company of Heroes
Lost Planet "Concurrent Operations"
H.264 QuickTime Pro 7.2
iTunes 7.3 MP3 encoding
3ds Max 9 SP2
Microsoft Movie Maker 6.0
It's mostly what I would expect-- only rendering and encoding tasks exploit
parallelism enough to overcome the 25% speed deficit between the dual and quad core
CPUs. Outside of that specific niche, performance will actually suffer
for most general purpose software if you choose a slower quad-core over a faster
However, there were some surprises in here, such as Excel 2007, and the Lost Planet
"concurrent operations" setting. It's possible software engineering will eventually
advance to the point that clock speed matters less than parallelism. Or eventually
it might be irrelevant, if we don't get to make the choice between faster clock
speeds and more CPU cores. But in the meantime, clock speed wins most of the
time. More CPU cores isn't automatically better. Typical
users will be better off with the fastest possible dual-core CPU they can afford.
Posted by Jeff Atwood
Appreciate the informative content. However, the second comparison, which compares a 3GHz dual to a 2.4GHz quad completely invalidates the results. 2.4GHz is NOT the fastest quad available and the resulting data becomes a comparison of clock speed rather than cores (I suspect a 3GHz dual core processor is faster than a 2.4GHz dual core processor as well).
However, the second comparison, which compares a 3GHz dual to a 2.4GHz quad completely invalidates the results.
He used the two on purpose to raise a point about price vs. performance. FTA:
In the short term, we have to choose between faster dual-core systems, or slower quad-core systems. Today, a quad-core 2.4 GHz CPU costs about the same as a dual-core 3.0 GHz CPU.
Quad Cores also shine in other areas other than a single app. running.
I have 18 icon tray programs and 26 apps open right now! My machine gates this way when I'm developing applications and my web site. I can use any of t hese apps concurrently and they all seem to be running full speed when I switch (alt-tab)
amnother example is I can run all 4 of my aniti/Virus,trojan,phisher,crap programs and they all run full speed with processor time to spare!
If you want to use all cores of your dual core / quad core /multi core processor with Microsoft visual C++ 2005 at project level you can also install this free plug-in : MPCL ( http://www.todobits.es/mpcl.html )
BUY a thermalright ultra 120 for like $60 and u can overclock the Q6600 which its core speed at stock is @ 2.4GHz and with the above cooler u can easily overclock it to 3.2GHz+ FFS im sick of ppl saying that the Q6600 is shit, its not. Play CS:S? Counterstrike takes use of multicores (hence the Q6600) therefore the game will run ALOT quicker because counterstrike is very dependant on the CPU to process data alto more than other games. Crysis is another example of a game that takes use of multi-cores, OH and also ALL FUTURE DX10 GAMES, FFS...
i run a quad core q6600 at 3.35ghz and believe you mean, you will see a difference over a 3.5ghz dual core in a lot of things, though not all.
Can I point out that computers run at the speed of the slowest component currently in use. This is never the CPU or GPU it's normally the HDD. So it's really not that important to have either a dual/quard core processor unless you have the other components to support it.
it's kind of disingenuous to test single applications against multiple cores as a benchmark for performance to address the benefits of clock speed over cores. On a real-world system users will be running many different applications at the same time. Even the most steadfast single threaded application could still see performance gains due to having more available CPU time stemming from reduced contention with other applications running on the machine at the same time.
As time progresses more and more applications will take advantage of multiple cores and we will see more benefits, so there's also a 'future-proofing' aspect to take into account here as well.
Can I point out that computers run at the speed of the slowest component currently in use. This is never the CPU or GPU it's normally the HDD. So it's really not that important to have either a dual/quard core processor unless you have the other components to support it.[/quote]
This is untrue. Unless the program is heavily hitting the HDD during it's entire operation this is not an issue. Most programs hit the HDD to load themselves into memory and then happily chug along without needing the HDD at all. In such a case it is memory, bus and CPU (and/or GPU depending on what kind of program) speed/bandwidth which binds their peformance.
has anyone seen bench with dual quad-core configuration ?
I know that theorically speaking W2K and Vista must be able to full up the eight core. Or is it mandatory to buy a server version ?
I'm using a quad core processor (Q6600), i did an light oc for it(from 2.4ghz to 3.ghz). For me, I think quad core is so good to handle multi applications on the same time. It work good in my case. I can let a lot of applications, which is running in the background while I'm doing something else such as playing games or coding in Visual Studio, listening or watching a video, and i feel good when everything running so fast and smoothly.
In my opinion, I think quadcore is better than dual core a lot. I have ever used dual core processor before, but it doesn't make me sastify with the performance. Now with quadcore processor, i got the best performance with my works, what i have to dream for a long time ago.
I don't think so. If you wanna compare Dual Core and Quad Core, you cannot use single processor multithreading application. You must use multiprocessor application such as SQL Server, 3dsMax Adobe After FX and others. Of course if you need speed as linier speed then increase the clock frequency. Quad Core 2.4GHz is the same with 2.4GHz dual core processors. But for mathematical processor such as non openGL direct rendering will make Quad Core win and I certainly find very very fast.
My Benchmark is rendering a huge 3dsmax file and a complex single frame which takes around 15 minutes in Dual Core 3 GHz or approx. 10 minutes in Core 2 Duo 2.4GHz. Than I replaced with Quad Core 2.4 GHz 6600, it takes less than 3 minutes. For me this is truly fast processor.
Hopes this help for anyone and we hope all application such as Photoshop use multiprocessor for filters processing and other floating point calculations. Trust me it will be fast.
Do any of you guys know where I can get a gaming computer that can run crysis for $2000 dollars or less?
matt, just buy any modern Dell, then buy and install a new NVIDIA 8800 GT video card. Problem solved.. seriously!
No offense Ed, but the Intel study you provided is loaded....they are comparing a 3.0 GHz Dual Core with a 3.0 GHz Quad core....I think we can all see how that one is going to play out before even looking at the results. What would be more interesting to see is how a single quad core CPU performs against 2 Single Core CPUs or 2 Dual Core CPUs serving web pages with a variety of server software (Apache, IIS, WebLogic, etc) and OS.
Two words: make -j
It took me a while to sort out why this blog post bothered me. It's the hidden elitism of a programming god giving advice to the peasants. The advice is good advice for someone's mom, but not for a programmer. Awfully sweet of you to offer it.
The Q6600 easily overclocks to 3.5 Ghz on air, before voltages and temps get out of hand. And why can I buy commodity motherboards with this option? Just as porn drove the videotape industry, gaming drives high-performance DIY computing. The parallelism is already there in multiple video card setups, and better support for four and eight cores is only a matter of time.
Elitism is relative. You know the meme about our universe being a molecule in some alien's coffee table? This comes to mind, reading a blog by a career Windows programmer. It's entirely possible that the .NET options don't work as well as "make -j", or the easy parallelism offered by Erlang or Haskell.
waiting for the mighty Q9450 2.66Ghz !
wow i feel much better about my Intel Core 2 Extreme X6800 ( oc-ed it to 3.2)
thx a lot for the comparison
I agree with Syzygies, this post bothered me a bit too for its hidden "elitism of a programming god giving advice to the peasants" as you say it. I don't want to be told "what's best" from an article that I have to trust it's written by someone better and more clever than me in every way, but I want data and tests of the correct problem and maybe a short conclusion with some opinions on these data, that's it.
1 example of this is the reply from the author: "Within reason, yes, but dual-core gets you 99% of the benefit of (n) core. If you're not careful, this becomes the wishful thinking scenario I just described. No matter how much of an ultra-elite-ninja single user you are, I guarantee..."
Where did you get the 99% data?
How can you "guarantee" this apply to my normal desktop use?
This is the session with my desktop in this moment (after a few hours of work):
2 Visual Studio sessions (1 is compiling a very large project in this moment and the other is in debug mode, the dual core is maxed out), Sql server session that I use for local debugging, SSMS, 1 Internet Explorer with 5 tabs open, 3 Firefox window open with 10 tabs (average) in each open, Thunderbird retrieving emails from 20 email accounts every 2-10 minutes depending on importance, 2 Remote desktops sessions, Last.fm retrieving and playing music, Hamachi VPN, 2 chats, Worktime, Photoshop CS2, 3 notepad with text, Firewall, Antivirus (of course all of this in 2 screens). (And I do believe that this amount of apps is very common with MANY real-life programmers)
My main issue is that I have to wait for VS compilations a few minutes and debugging is not smooth (I have to wait for compilation of ASP.NET page at every change to debug it), I do agree that a SSD would be the most important piece to improve my performance(and I will buy an Mtron ssd this week), but I can "guarantee" you that I max out my dual core Athlon64X2 5600+ very often and this should mean that I would benefit a lot from a Quad core for my use... right?
EVEN if I don't touch my computer and I am not compiling but I just have my usual apps open, around 40% of the 2 cores are used.
Do you agree that with my average use I could make some use of a Quad core?
It would be interesting to see a test from a real life "ultra-elite-ninja" programmer to see what the REAL LIFE benefits are... In codinghorror you have a test of "compiling +multitasking" with dual core (http://www.codinghorror.com/blog/archives/000285.html) . This could be extended with a comparison to quad core in real life use and specifying what apps where used at the same time.. varying the number of apps we will see when the turning point is reached and so when quad core becomes more performant.
THAT would be very interesting..
In the mean time I still stand by my opinion that for heavy desktop users a quad core is VERY beneficial! and so between a 3.0 GHz
Dual Core or a 2.4 GHz dual core a quad will perform much better in these cases. This is my 2 cents.
The Q6600 easily overclocks to 3.5 Ghz on air
That's interesting, since I've worked on two that barely made it to 3.0 GHz.
In the mean time I still stand by my opinion that for heavy desktop users a quad core is VERY beneficial!
And yet there is no benchmark data, outside of a few highly specialized areas, to support this argument. You believing this does not make it true. I know it feels good to see 4 cores in Task Manager (or the equivalent on your OS), but don't let that warm glow blind you to cold, hard data.
As others have said, imaging is an area where cores help, and our WIC codecs were designed from the beginning with multiple cores in mind.
But there are other areas where multiple cores can be utilized: PNGOUTWin uses algorithms that can't be made parallel, but the app can use every core when processing a batch. It wasn't that hard to do, and the code isn't all that complicated. Everyone should be designing their code this way if they can. All it takes is converting your single background worker thread--which is an idea that has been around for a long time and probably already exists in a lot of apps--into a thread pool and then add some scatter/gather logic. Not all tasks can be subdivided, but I'm sure there are a lot that could take advantage of today's hardware.
Jeff Atwood - At the same time there is no article or study that a developer using many application at the same time is better off with 2 cores. All the cases and all the tests that you show are NOT considering how a real developer would use his computer. So your cold, hard data doesn't really answer the question too, and you are in the same situation as me (no hard data). Why don't you run a serious test on this specifically for programmers? It would make a nice article as nobody has done it. I could help you out sorting out the case scenario for an ASP.NET programmer.
I see from this post: http://www.codinghorror.com/blog/archives/001103.html
That this April you finally changed your opinion and you seem to agree with me. Programmers should get the more cores they can get.. as you said.
I am not a blog writer but a programmer, and I can just tell you that with the way I program when I use a quad I can really see a great difference. That's a real life scenario and first-hand experience that none of the tests I have seen up to now can beat or disprove.
If you want to do some serious test let me know if I can help.
Ps. Also consider how handy virtual machines are for programmers and how they could run nicely on a 4+ cores! Good programmers should adapt to use to the full their machine and if you give more cores to them they will find some great use for them!. I would buy a 8 or 16 or 32 cores now if they were available.
Ok, it seems that in some (or most)cases, GHz matter more than cores. But what if you overclock the Q6600 to 3.5 GHz or 3.8 GHz? Won't that make it better in all categories since it will now have more GHz and cores?
It's been said that humans aren't smart enough to write threaded software.
I think there's a lot of truth in that. I took a class in college where we had to implement semaphores in C++, and I resolved never to do that again if I could help it. However, you could also make the argument that humans aren't smart enough to juggle memory registers, either, and I'd tend to agree, for similar reasons.
A programming language should abstract the capabilities of the hardware into a mentally "ergonomic" framework, so that humans with human brains can get the computer to do interesting things.
There are a few languages that are very adept at handling multiple CPUs due to their inherent design. They weren't designed for multiple CPUs explicitly, but rather multiple servers and nodes in a network, which turns out to be very similar. Erlang is the classic example. By abstracting everything into processes that communicate by sending messages, your code doesn't have to care whether the process it's talking to is running on a different core on the same machine, or on another machine on the network. Because this is built into the language itself, it's much simpler to write code that keeps getting faster as you throw more cores at it. (In fact, it's practically impossible for an Erlang program *not* to balance across all the cores it has available---AFAIK, there's no way for the programmer to specify it, though of course the OS can distribute CPU time as it sees fit.)
Of course, programming in Erlang can be much less "straightforward" in some ways than programming in C or Basic. Objects and methods are a bit easier to grok than state machines and messages. But, the same could be said for programming in C or Basic instead of Assembly. Fundamentally, the point is that the parts of a computer that are hostile for humans to worry about, whether they're memory registers or concurrency, should be handled by a language that presents the programmer with something they can work with more easily. This presents a bit of a learning curve over pushing the bits yourself, but in the end, confers more power to build interesting things, as anyone who's used both Assembly and C# probably knows.
The fact that these programs don't get any faster when you double the computing power only shows that they were written in a soon-to-be outdated language. To a consumer, 4 is bigger than 2, so it's better. Once it's cheap enough to not be much of a difference on the bottom line, any manufacturer would be foolish to not put as many cores as they can fit into every machine, useful or not. (Just try finding a single-core computer today at an Apple store or Best Buy. It's pretty tricky, actually.)
When everyone's computer has 12 cores, the programs that crush their competitors will be the ones that take advantage of that with the least effort.
I was just looking back at the data and I have come to the rather opposite conclusion- that quad core is better. I was suspicious about the long list (with red and green numbers) and I decided to check out the source and found that his list was based on non overclocked speeds. Now I already knew that, but what I did not know and found out was that if you overclock the quad core to 3.6 GHz, it will pretty much wipe the floor with a 3.8 GHz overclocked dual core. On all levels! I think that should have at least been mentioned because those who want the best performance for their buck will overclock.
Hope that clears up some questions,
I'm very conflicted here and was hoping you guys could give me some advice. I use my PC for video editing and audio recording/editing. I'm about to buy a new Dell XPS 630 to replace my 2.4Ghz P4 Dell that's six years old. My two options for processor are the Q6600 Quad 2.4 Ghz or for $100 more an E8500 Dual Core 3.0 Ghz processor. For my needs, I've been given conflicting opinions on which processor to go with and this article hasn't helped me much. However, if I went with the quad and OC'd to 3.0Ghz would that give the clear advantage to the quad core?
Sorry to be such a novice, but that's why I'm looking to you guys for advice. :)
if you overclock the quad core to 3.6 GHz
Power dissipation is doubled for quad-core -- remember Intel (for now) quite literally slaps two copies of the dual core on a die and calls it a quad. The quads never overclock as well as the dual, because there are twice as many things that can go wrong. Plus the power problem, which can be severe. Their top of the line Quad is rated at 135 watts. At 3.6 you'll be pulling much more, 150w or more.
I use my PC for video editing and audio recording/editing
For video editing, the quad core will be much better.
In real life we use many applications simultaneously. OS processes can be pushed to a separate core.One core for Norton Anti-Virus. The remaining two cores can handle browser with (mulitple tabs) and music player as I surf while listening to songs (while I donwload more songs or videos). I often have a scenario where I want to watch a DVD on my PC and have TV tuner card recording a program ad the system sputters and hangs.Add some batch image processing or doing a C++ build along with something else and you soon realise that a quad-core is a necessity and not a luxury.
Quad core is basic necessity these days !
You just made these numbers up !
They are not consistent and not correct calculation.
We regularly do searches and there is anti-virus to think about.These two processes run concurrently quite often.Plus the core applications we are engaged in.So anybody atleast has 4 processors running. We need Quad Core.
Anything that is massively multi-threaded will benefit from
multiple cores. I do a lot of DirectX/DirectShow programming,
and without me doing a darn thing, the very nature of the COM objects (DirectShow filters) creates a massively multi-threaded application
that zooms when it can get its hands on multiple processors.
These apps have always run better on dual CPU, or hyper-threaded,
or Core 2 (now) processors than on single CPUs, and in fact,
get an almost perfect 100% performance boost by using 2 CPUs.
Do a Core 2 Quad is a no-brainer for me. It will make my apps
For anyone running Quad Core with Windows XP Pro SP3, try this. Open several programs that you need to run at once that all use lots of CPU time... (I often run Firefox, Adobe Photoshop, Microsoft Frontpage, AVG Anti-virus, Microsoft Outlook and Microsoft Word at the same time.
Now, do Ctrl + Alt + Del to bring up Task Manager. Then under Applications, right click an application and select "Go to Process" Then on the process it takes you to, Right click select "Set Affinity" Now you can limit that application to one or two CPU's.
Do this with each of the programs you are running (Not always an option with software running as a Service such as my AVG anti virus)
I set my Photoshop to CPU 1 2, Microsoft Word to CPU3, Frontpage to CPU4, and Outlook to CPU1
Guess what? The result was faster response from all of the programs. When I Alt Tabbed between programs I did not have to wait anymore.
I say, if your going to benchmark the Quad Vs Duo Core... Set it up for Real life use. Not all of us are 16 and using the system to play video games. I say Give me the 31 CPU system that I see (27 of them grayed out LOL) when I set my CPU Affinity and let me get my work done!
Victory Computer Service
Nice Report, goes to show, "you don't always get what you pay for".
I wrote my thesis on parallel computing some years back, and have known that the hype behind 4 cpu's in gaming is just that, Hype! But it's hard convincing the main stream (laymen) of these facts. This report obviously sheds light on the subject, even if the report is not all inclusive, I nonetheless enjoyed reading it.
How about a return to procedural programming ? Since Procedural Programming looks at programs as processes acting on data instead of oops which sees it the other way around(data being acted upon processes) , it might be very easy for programmers to write multi-threaded programs in proc languages.Each function(process) can be made to run on its own thread.
A return to Pascal rather than C would be a good idea as there is greater modularity there and large programs can be written without bothering about the need for OOPS.
Or may be we can use a combination of both. A programmer first codes the project in OOPS and then hands it over to a programmer trained in Procedural Paradigm and he then parallelizes the program by identifying processes which are stand-alone.
We may ultimately need two different types of programmers for multi-core apps.Multi-heads for Multi-cores !
Thank you so, so much! This site saved me tons of money deciding either to get a fast dual- core or a slow quad core processor. Thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :-)
I too agree with some of the previous posters.
PLEASE TEST CUBASE SX3 and VSTi
We need tests for audio production software,
Reason 2.5 3.03 4.x, Ableton Live, ProTools,etc... +
a keyboard connected to the computer,
does a quad core bring any advantage to
a dual core setup under the audio production scenario?
YES! what about music production and heavy VST use.
Thats sweet, yet doesnt quad core cost more to run -_- (energy)
I just built a quad core computer so fuck you allllllllll
I am about to buy a new desktop pc. I learned a lot from this post. But I am still confused between which processor to choose.
I normally use Visual Studio, SQL Server 2005, Office 2003 or 2007 and will install lot of additional softwares. I also capture videos for Visual Studio demos.
The latest core2duo E8500 is 3.16 Ghz while core2quad Q9550 is only 2.83 Ghz. Which one is better?
Jeff, do you think a 16 core processor could replace a GPU in the future? With so many unused cores, why not use them to process our graphics instead of buying an expensive graphics card to do the work.
I think there is real potential with processors with many cores to help increase performance. I am not sure if gaming is the very best test for this though. I personally know that there are many times when i have 2 or 3 visual studios open, an sql server management studio, word, and excel open all at the same time. I think that while most users may not have as much open at once, they often have a couple of programs open. And if you look at task manager you will dozens of processes each with multiple threads. You can't tell me that all of these concurrently running processes and threads cant benefit from multiple cores. Even if the software hasnt yet taken advantage of the cores the way it one will be able to there is real potential there.
Your article ignores the fact that the point of having windows instead of dos was to multitask, which is the main benefit of quad core cpus.
Not to simply have one application hog all of your resources.
Your cold, hard date shows that while benchmarks are currently lower, the amount that they are lower is insignificant, compared to the fact that it's not running on all four cores.
It's been a year now. I'd be curious to see the results with newer apps.
Hey- stumbled on here to find an article for a friend to help them understand the benefits of 4+ cores for the work we do.
I'm an architect, and I need to have 2-4 cpu intensive apps going at once, often with another PC or 3 doing rendering. Buying a mobo that could hold 2 Quad cores (=8 cores) for virtual machines, means in one machine I now can do the usual intensive work load, while also rendering on four VM machines in the background, without having it effect the rest of my work... Now I have ONE pc, vs. the 5 I used to run. This is a LOT cheaper on my electrical bills, with the 45nm processing and the lack of all the fans and noise.
Quads, let alone multiple-quads, are best, in my opinion, for specific heavy multi-tasking like we do in this profession. For me, they absolutely ROCK. All the professional CAD software is getting on the bandwagon to utilize massive cores, and almost all the rendering is already able to utilize it. So assigning virtual machines to cores completely rocks.
However, at home, for my usual tasks, I use an older single core with just some good ram, and my laptop is a core2duo, and it rocks.
So for heavy desktop specific apps and work, the more cores maybe the better. But we're a smaller part of the market. Virtualization is gaining ground, and this might be THE CORE of why to have a quad+ rig.
Otherwise, yeah, not much use yet. Check back in 3 years though, eh?
wtf quad core is better man it has quad=4 and dual core has 2 and 4 is a bigger number than 2 and so is better, dusnt take genous to understand dumbfucks
wtf quad core is better man it has quad=4 and dual core has 2 and 4 is a bigger number than 2 and so is better, dusnt take genous to understand dumbfucks
tom cruise on October 7, 2008 08:49 AM
lmfao 4 is bigger than 2 therefore better, lmaaaoooo
wtf quad core is better man it has quad=4 and dual core has 2 and 4 is a bigger number than 2 and so is better, dusnt take genous to understand dumbfucks
tom cruise on October 7, 2008 08:49 AM
LOL... ur mum is 150kgs, and ur sister is 50kgs. your mum's weight is a bigger number so therefore your fat and slow mum is better.
thats what ur trying to say, when clearly your sister is young, thin and quite sexy.. like a dual core if you catch my drift...
It's significantly more stable to have two dual core than one quad core. I've been running a computer with a quad core and a computer with two dual cores since 2005. Now I use a dual quad core as my main machine.
Great article! really enjoyed ready, it explains perfectly what i already tried to figure out myself, and some of the replies here are very usefull as well, thumbs up.
i understood ....)
not quad core allways best....
becoze not all softwares and games support quad cores
they still use dual cores thts about this explaining and benching
Most client software runs the same in single core as it runs in multicore. I've been researching a lot about multicore programming with C# in the last months.
There is a new book from Packt Publishing - C# 2008 and 2005 Threaded Programming: Beginner's Guide, by Gaston Hillar. http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book
I bought the e-book four days ago and it offers real-life examples and you can download the code. Threading has always been hard for me.
The only way to exploit multicore processors is threading or waiting for a silver bullet.
By the way, I am threading now.
I have a quad core 2 2.55. I ran Eve Online, steam, firefox, excel, and some other stuff that takes up the cpu. The quad core runs nicely with them
These results are interesting, but what about excessive multitasking? Let's say I like to play everyone's favorite repetitive task, World of Warcraft, while watching DVDs, and then frequently alt+tabbing between the game and Firefox to look up items for the game?
I'd love to see you re-run these numbers, with a DVD player (make it HD for added fun?) or Hulu or Skype running, because that's my use case.
I have a QuadCore (Q9550) in my home desktop computer, and I must say it's been a good idea to choose that one over a DualCore. It doesn't help to know that two cores is enough for this application. I like to have some free space above what is actually used. Just like if you have 4GB RAM, you know you're probably not using all of those 4GB at any time, but it's important to know you're not going to run out of memory, or in my case, processing cycles. Now with my QuadCore, I could care less whether there's some browser, messenger or Steam running in the background. I remember the time when I usually shut down everything not absolutely necessary when doing some performance-heavy things (in my case: video games), now this has become a no-brainer for me.
My personal opinion is, in the more or less distant future (depending on what time frame you'd consider distant), computers will contain a very large (in the range of thousands to millions) of CPU in some kind of hardware-implemented neuronal network, with the CPUs also directly communicating with each other constantly.
In other words: Some day we will treat CPUs just like we treat Transistors nowadays.
Geoff Broadwell, I believe you are colorblind.
Thank you for the work you put in to the article. It has helped me in making my purchasing decisions.
Was Windows x64 used in these dual-core / quad-core tests?
I was under the assumption that only 64 bit operating systems make use of dual quad core systems? Is this correct?
Thanks In Advance,
Another thought, to add to this slightly rambling comment:
MP3 encoding. Instead of speeding up a single-MP3 encoding, why not have the application process 4 different files at once.
I have actually done this in windows on a quad core AMD (9950). I used two command line programs for the conversion. One to convert mpc/ogg/etc to wav and one to convert wav to mp3. I had some music that was incompatible with an mp3 player. This was easier than digging up the CDs and allot faster likely due to the limits of CD drive speed, parallel access and having to read it in it's uncompressed form over the slowest IO channel.
I used a perl script to scan a folder and make 4 bat files with the mp3s distributed approximately by size.
Needless to say it was horrifically fast.
OK I have read through this and there seems to be opions all over the radar for dual versus quad core. I am trying to decide how best to go. I would love a laptop for my photography business with docking station and external monitor so I can take the laptop with me. However it seems the quad core tower unit might be better for me than a Core2Duo laptop. I am obviously running multiple apps, CS3, Lightroom, DVD Software for productions, working with 10mb RAW images.
Sooo. Any opinions on what is best for what I am trying to do?
With four processing cores, up to 12MB of shared L2 cache¹ and 1333 MHz Front Side Bus the Intel Core 2 Quad desktops processor delivers amazing performance and power efficiency enabled by the all new hafnium-based circuitry of 45nm Intel Core microarchitecture.
what about the quar-core? that should be better.
The amount of performance gained by the use of a multi-core processor is strongly dependent on the software algorithms and implementation. In particular, the possible gains are limited by the fraction of the software that can be "parallelized" to run on multiple cores simultaneously; this effect is described by Amdahl's law.
So I wouldn't buy a quad core now, but I'd expect those utilitization numbers to change over the next year or two.
strongly dependent on the software algorithms and implementation.
A man is driving up a steep, narrow mountain road. A woman is driving down the same road. As they pass each other, the woman leans out of the window and yells "PIG!!" The man immediately leans out of his window and replies, "WITCH(女巫)!!" They each continue on their way, and as the man rounds the next corner, he crashes into a pig in the middle of the road. If only men would listen.
I'm disappointed Jeff. Where's the 2 to 4 core comparison for Visual Studio and other compilers?
This is a .NET blog right?
I'm very surprised that the Erlang fan boys haven't jumped in here yet.
I think the main point for quad-core is that you can run _many_more_ processes without weighing down the system. Were you running any of the above benchmarks in combo fashion?
If all users ever do is just work on one mean intensive program, then yes fast dual-core would be better. But I as a developer would be running a couple of virtual machines, zipping stuff, watching video, listening to music, compiling code. With bags of RAM in an x64 system, i need not close many programs. And certainly yes, it helps to have multiple disks to distribute the IO load.
Having said that, I bought both a dual-core desktop and a dual-core laptop three months back so my next machine probably will be oct-core.
Their answer? H.264 blu-ray video playback while "doing something else". Lame. How do you watch a movie and do something else at the same time?
I do that all the time..... :-) I love being able to watch video on one monitor while reading email or web sites on the other.
Thanks for a comprehensive (at least comprehensive enough for me) comparison of dual vs. quad core processors! Most comparisons are fairly short and fail to report data comparing a faster dual core vs. slower quad core. I came across this through a Google search and really appreciate your article.
As the author said, more cores is kind of the answer as Moor's law comes to an end. If you think about it, when dual core systems hit the scene software wasn't written for it. Know that they have been around for a while we are seeing more and more software, including games, that take advantage of processors having two cores. I feel that this is the what we are seeing with quad core processors. That being the case it seems kind of a moot point, especially since, this was also stated, quad core and dual core processors are roughly the same price. No point to spend the money on a dual core processor when the future says more cores.
The concept of multi-core technology was intriguing, at first, hoping to provide windows an opportunity to create "true" self diagnostics that would virtually eliminate crashes. It didn't happen. Instead, windows continues to use a platform that sucks the life out of your computer like a quasar going nova.
when refer to the Dual or Quad Core,I really not know much about them ,and now I have a lot from this article,thank you so much.http://www.shopbigbig.com
I love the artical, but couldn't you use solfware that binds together the processors to work in harmony instead of individual aspects? I mean yes it would use a little bit of the processor but the benifit would be unremarkable.