Helping people with computers... one answer at a time.

Processors are generally available with single, dual and quad cores. We'll look at what that means, and how you might select which is right for you.

For a home user with no special programs and no gaming, am I better off with a single core processor or a dual core processor. I play no games. I simply have a few usual things (word processor, registry cleaners, anti-spy and security stuff & etc) but I need a new PC. This one is over 10 years old and only has 256 MB RAM and 10 gig HDD. It is SLOW even after cleaning the registry, defragging, optimizing and everything else. It is still slow and always runs low on virtual memory thereby forcing the paging file to be increased from the HDD. I think I need at least 1 gig RAM and 80 Gb of HDD. Would I be better off with a dual core or a single core processor?

Normally, I stay away from specific processor recommendations because things change so much, and so often, and I'm just not one of those people that wants to do a detailed comparison between processor A and processor B. There are plenty of other passionate people who'll happily do that all day long.

In this, however, I do have an opinion: more cores may be better, but too many may not be worth it.

A "core" is simply another way of saying CPU or, in a sense, computer.

The CPU or Central Processing Unit is the computer. It's the thing that executes instructions, one at a time, very quickly to make the system "do stuff". Everything else - the memory, the circuitry on the motherboard, even the hard disk and other peripherals, are there either to support the CPU in its task, or to allow the CPU to interface with devices or people.

"To understand if there's any benefit to single, dual or quad core for you, we have to understand how you use your computer ..."

A single core CPU can do exactly and only one thing at a time. It does them very quickly, so it can switch between different things to make it look like it's doing several things at once, but in fact at the core of the matter (pun somewhat intended), it's doing exactly one thing at a time.

A dual core machine can do two things at a time.

A quad core machine can do four things at a time.

The math is pretty easy there.

To understand if there's any benefit to single, dual or quad core for you, we have to understand how you use your computer, and if any of the things you use it for are actually "CPU intensive". Many, if not most, of the things you've mentioned like word processing, internet surfing, and even malware scanners are not CPU intensive. They're held back by the speed of other things: a word processor is only as fast as you are, surfing the internet is limited by the speed of your internet connection, and even things like malware scanners are usually limited by the speed of your hard disk. In almost all cases your CPU, even a single one, is much faster than needed for any of these.

So why have more than one core?

The most obvious reason why you would need more than one core is when you are doing things that are CPU intensive. But even then things get tricky.

File compression or audio and video encoding are good examples of processes that are very computationally intense. In other words, when compressing a file, the process to calculate the compression is typically slower than reading and writing the file being compressed. One would think it would be twice as fast on a dual core, and four times as fast on a quad. Unfortunately, most of the time it's no faster.

The reason is that software must be written to take advantage of multiple processors, and most software is not. (Writing what's called "multi-threaded" software can actually be quite complex - I know, I've done it. Smile).

Most software is either not CPU intensive, or is written assuming there's only a single processor.

What that means is that if you run that file compression and watch your CPU usage, you'll find that exactly one of your two or four cores is completely consumed by the compression operation, while the other(s) are mostly idle.

On the other hand, some software - often video or audio processing software - is often architected to use multiple cores.

With that as a lot of background, what's my recommendation?

I will now get at least dual core machines, even for machines that are never intentionally going to be running CPU intensive software. The reason is simple: if something hangs or a program crashes in such a way that it is eating up all CPU resources, it's doing so on only one of the two cores. The other CPU core is left running available for other tasks - like handling the screen and keyboard - and the machine remains usable.

If a quad core processor were the same price as a dual core, I'd certainly say go for it. There's no real downside to having more cores, but typically a quad will be more expensive, often by a significant amount.

If, on the other hand, you plan to run CPU intensive software that you know will use multiple cores if available, or you plan to run several CPU intensive programs at the same time, then perhaps a quad core machine might make more sense. My desktop machine, in fact, has a quad core CPU specifically because of my plans to do some video editing and CPU-intensive rendering.

But for most people: dual core is plenty.

Article C3716 - May 1, 2009 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

14 Comments
Ziggie
May 1, 2009 10:35 AM

I just bought a quad core to use as my new Media Center. No, Windows Media Center won't need 4 cores, but it was on sale and 20 dollars more than the dual core.

However, this way my Media Center can dedicate an entire processor to doing the Media Center stuff and the computer can do other things in the background. Now I just need to figure out how to find a hard drive that can do multiple r/w operations at the same time....

Rahul
May 2, 2009 4:34 AM

I have a follow up set of questions on this topic:

Which part of the software decides which processor to use? Does the OS need to be configured to be able to handle process scheduling for multi core processors? Can XP do this? Vista? How about Linux? Does the OS need to be upgraded too?

How does one test this? I have been using a dual core processor for quite some time but never perceived any difference the same way increasing the memory made a perceivable difference. Sometimes I find my single core desktop working faster than my dual core laptop while doing the same task.

It is indeed the operating system that determines which processor to use. Most current OS's - XP, Vista, Mac OSX, Linux - all pretty much handle this already, particularly with the current popularity of multi-core processors.

The best way to test it, in my experience, is to fire up process explorer and watch CPU usage. On a dual-core machine if a process is consistently using 50%, then it's likely single-threaded and using only one core. Yes, single threaded software will run faster on a CPU with faster clock speed than on a dual core with slower. Where the dual core helps is that the system is usable when a process is "pegged" using all of it's core - if there's a second core available for other things, those other things are more responsive.

- Leo
02-May-2009
nelson
May 5, 2009 1:45 PM

Satisfactory and conclusive as usual,but, maybe quad core is foreseen for new incoming programs

Tom Chapman
May 5, 2009 5:23 PM

Does XP Home support Quad Core?

My understanding is that it supports multiple *core* CPUs, but not multiple physical CPUs. As someone put it, count the sockets.
- Leo
07-May-2009

Mark
May 5, 2009 6:16 PM

A dual core CPU is fine for most average PC users and applications. Quad core is probably only of use to high-end gamers (like Flight Simulator X pilots).

Ron
May 5, 2009 10:49 PM

Ziggie - to meet your need, install more HD's and separate your files. Keep one for OS and one or more others for data, maybe separate disks for different file types.

Rahul - yes the OS is supposed to handle assigning tasks to CPUs, but I still have my doubts about how well windoze does at it since deep down at it's core is remembers its single standalone CPU roots (on the other hand, Nix came from multi processor background so I expect it to do better (not that I have any empiracle proof it does)). However, you can manually assign programs to specific cpu's, (I just can't find my "How to" notes right now).

Leo - you made half of my point, manufacturers still tend to make their multi core / multi cpu chip boxes with slightly slower individual cores than the highest end of the single core CPUs that are available. So while a multi processor may have many more cpu cycles collectively each cpu is slightly lower powered than an "equivalent" single core chip would be. That being said, my latest laptop is a dual core and I expect my next purchase (in a couple of years) will be (at least) a quad core 64 bit cpu.

I want to clarify one misconception: "since deep down at it's core is remembers its single standalone CPU roots" - this is actually not true.

Windows 2000, XP and Vista are built on the Windows NT codebase, which was designed for multi-processor implementations from the begining. Windows 95/98/Me are all based on the old DOS/single-core implementation.

- Leo
07-May-2009
Mike laycock
May 5, 2009 11:53 PM

Dear Leo,very useful info. My only contribution is that as a very naughty user (installing and removing loads of programs and experimenting with this and that like a freeware junkie) I used to crash my 2.2Ghz Pentium 4, Win XP single core desktop as regularly (almost) as a bumper car at the fairground! Similar treatment to my 2Ghz dual core Win XP Dell laptop has in over a years abuse failed to crash it once. It's had one or two nervous ticks but after a little patience and prayer has always come through. Is this significant or just freak luck?

Ziggie
May 6, 2009 6:18 AM

Thanks Ron, I'd already moved in that direction, but was wondering if there was drive technology i didn't know about.

ah well. at least hard drives are cheap.

Octav
May 6, 2009 8:59 AM

Ron - I'm not sure I agree as to the relative worths of OSes in multi-processing.

As far as I know, Windows NT has had SMP (symmetric multi-processing) support since at least 3.51, and likely since before that. We all forget multi-processing existed long before it was really cost-effective. As a result, I'd expect the entire Windows NT line -- 3.51, 4.0, 2000, XP, Vista, and the upcoming Windows 7 -- will handle multi-core CPUs just fine, at the OS end (side-note: Windows 3.51 came out in '95, according to Wikipedia, which gives us around 14 years of experience working with multiple CPU architectures, mostly in high-end systems that would've been *very* important to Microsoft to have running very well).

On the Linux side, both Linus's kernel, and the Minix it was based on, were developed initially for single-processor systems (for Linux, the 80386; for Minix, the IBM PC and PC/AT). Support for symmetric multi-processing must've come in reasonably early in Linux kernel development, but it still leaves approximately the same development period as with Windows, and in this case with much less interest to have it working well -- I doubt many Linux kernel hackers had, or worried about, multi-processor systems.

What I have a big question mark about is BSD and its variants. BSD is a much older Unix, and one that has most definitely been used in multi-processing environments. And with Mac OS X being based on the same Mach kernel as the BSDs, it /probably/ inherits good SMP support from them. With that said, I've not played much with OS X and cannot say anything as to its relative worth. A similar argument would apply to other commercial Unixes that still exist.


Coming from the theoretical to the practical, what I've noted most of all in multi-core systems is the tendency of single-threaded applications to be "bounced" around the two (or more) cores available, which actually results in somewhat diminished performance by virtue of invalidating a number of caches. Considering that each core has its own instruction cache, we can plainly see that any application being switched from one core to another will leave its next few instructions in the former core's cache (where they are useless), and those instructions will need to be fetched again into the new core's cache, flushing out whatever had been there before.

Coupling the above with the tendency for multi-core systems to be progressively lower in clock frequency than their single-core brethren, it's obvious that a single core is the ideal for a single-threaded application. *However*, single-core CPUs are becoming extremely rare nowadays, and their price tends to be about equal, if not higher, than the price of a nearly-equivalent dual-core system. Similarly, single-core has no advantage for multi-threaded applications, which exist.


Given all of the above, the choice of OS is likely unimportant (with noted exceptions). For the initial question, I'd recommend a dual-core machine for this light use, mostly due to the combined factors of approximately same cost and the high probability of more and more applications becoming multi-core aware, and thus using the available resources better.

I would similarly not recommend a quad-core machine unless the price difference from a dual-core machine is very small and/or there is an intended use for the four cores (as Leo mentioned, video- and audio-editing tasks (and a few others) tend to be infinitely parallelizable -- for instance, a video can be split into two clips and each of the clips can be processed by a core, independent of the other clip; naturally, this can be extended to four or even more such divisions of work).


As quad-core machines become cheaper, it will eventually be more cost-effective to have one than to stick to a dual-core one, and the number of multi-core aware applications likely will only grow by then, making it a better investment. I don't believe we've reached that point yet, but keep it in mind. ;)

Tom
May 9, 2009 11:57 PM

Leo, Thanks for the answer to my XP question. Today I saw an article "How Many CPU Cores Do You Need?" on Tom's Hardware site.
http://www.tomshardware.com/reviews/multi-core-cpu,2280.html#xtor=RSS-182

This is an excellent article using various benchmark tests and compares Single, Dual, Triple and Quad cores.

Joćo Campinas
September 22, 2009 12:57 PM

Hi there!

After reading carefully everything said above, and mutch more clarified, however, my question is: and for gaming purposes? Dual or quad? I still have doudts on that...

Depends on the game. There's no single answer.
Leo
23-Sep-2009

Cyron
January 29, 2010 5:17 PM

I hope you are going to rewrite this, because what you say is not right:
[quote]A dual core machine can do two things at a time.
A quad core machine can do four things at a time.
The math is pretty easy there.[/quote]
Any core can do multiple things at the same time, so how many cores you have is irrelevant!

What does matter is the cpu-load (or core load) and threading. Threading is key here. That's the reason why alot off applications do not benefit from multi-cores; they aren't multitreaded applications; meaning they can only run on a single core.

Mike Alleman
April 28, 2010 8:22 AM

Quad Cores are a waste of money for CAD. Use for more memory or better video.

http://ixbtlabs.com/articles3/cpu/intel-c2d-6600-7200-c2q-6600-9300-p1.html

Vadim
August 22, 2010 8:47 AM

In 2007 I have purchased 2xAcer Power SK-30 Pentium 4 HT 3.00Ghz for my daughters aged 6 and 8 as well as 1xAcer Power SK-50 Core Duo 1,86Ghz for myself all three came with 1GB of RAM as standart. I have ended up paying extra for Core Duo as at that time I was told it was faster PC plus it had Firewire card instolled and SD/Media card reader, instate of floppy disk on both of my daughters. I was also then sold on better chipset compare to SK-30. I was convinced that I had a better PC for a while until I started noticing the difference when I was using my daughters PC. Especially with current games software that allways prompting for extra graphics card and more RAM. When recently I went out to maximise the RAM on all 3xAsers I have learned that my so ment to be better deal with dual core can only take 2GB of RAM, and the other two Pentium 4HT can be maxed to 4GB of RAM each. I do not find that my Core Duo is faster than the other two rhather quite opposite, plus my dissapointment with the RAM upgrade. I belive I paid extra not for faster/better proccessor but for Media cards reader and Firewire card, what at the end does not make sence becose editing software some times extremly loaded and requires more RAM. What do you think forum shall I swop mine with one of my daughters and install Firewire card in it, plus decent graphics card? My first daughter allways thought mine is better anyway.

Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to http://askleo.com/ask to ask your question.