69

I currently have a dual-core processor at work and a quad-core at home. I've noticed both PCs are pretty equal as far as launching applications/surfing the web.

The difference I can see is that my dual-core is 2.8GHz and my quad-core is 2.4GHz.

Is it better to have a dual-core with a fast clock speed or a quad-core with a mediocre clock speed?

3
  • 5
    'Fast' and 'mediocre' are relative. In your case, a quad core would be better because the difference in clock speeds is only 400 MHz. However, a 3 GHz dual-core is better than a 1.5 GHz quad-core, for the most part. Jul 20, 2009 at 2:32
  • Don't use GHz to compare processors, use some speed / load test results to compare the effective speed of a processor. A dual core 3GHz processor might be slower than a 2,4 GHz i7 (i7 doesn't have front bus, ...)...
    – Ben
    Sep 9, 2011 at 17:27
  • 2
    @Ben, should be obvious that it would be the same processor architecture (eg 45nm Core 2 Duo vs Quad). Sep 23, 2011 at 21:07

12 Answers 12

53

NOTE: This answer was written 8 years ago. Parallel programming has since become more relevant. This is likely due to inherent clock speed limits and the fast approaching transistor size limits.


Your primary problem is software not written for multi-core.

Look at Jeff Atwood's excellent article on Choosing Dual core or Quad Core.

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.

You are answered here (highlight copied from Jeff's article),

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.


The issue of the Front-Side Bus (that term always amused me).
With Nehalem things change... as ArsTechnica said last year.

Moore's Law has given processor designers an embarrassment of transistor riches, and nowhere is that more apparent than in Intel's 45nm Nehalem processor. Debuting in 4- and 8-core variants later this year, Nehalem packs a ton of hardware into a single processor socket. (Early numbers put the transistor count of a quad-core Nehalem at 781 million; no numbers for the 8-core model have appeared yet.) But trying to feed all of that hardware with the Intel platform's existing frontside bus architecture would be folly. So, just as importantly, Nehalem also sounds the long-overdue death knell for Intel's positively geriatric frontside bus architecture.

The radical change in Intel's system bandwidth situation that Intel's new QuickPath Interconnect (QPI) represents is perhaps the largest single factor that shaped Nehalem's design. Between QuickPath and Nehalem's integrated memory controller, a Nehalem processor will have access to an unprecedented amount of aggregate bandwidth, especially in two- and four-socket implementations.

AMD moved the memory controller into the processor earlier and used Hypertransport.

3
  • 3
    The other issue to consider is front side bus performance. With so many cores, so much memory, and such large programs, access to memory becomes critical! If the CPU has to fault to get to main memory, it will hurt performance. The more you multitask, the more likely this is too happen, regardless of how obscenely large on chip cache gets.
    – geoffc
    Jul 15, 2009 at 16:37
  • 1
    In the 8 years since this question was opened in 2009, things have changed. Software is now a lot better at taking advantage of many cores, and this trend will only continue.
    – Contango
    May 10, 2017 at 7:24
  • 1
    @Contango Agreed, this answer needs to be updated to reflect the current trends.
    – user319643
    Jun 23, 2017 at 2:23
18

There is, in my experience, a huge performance benefit going from one to two cores. Suddenly one high CPU program doesn't lock up your machine or make it unusably slow. Massive difference.

But two to four? For 99% of people it won't make a difference. You will have to be running a lot of programs at once or be using programs that can take advantage of more than 2 cores (and realistically there aren't that many of those). Certain media encoders spring to mind.

There's also a difference between the Intel Core 2s and the AMD Phenoms in this regard. AMD uses Hypertransport, which is a point to point protocol so each core has dedicated bandwidth. Intel Core 2s (but not Core i7s and other Niehalem based CPUs) use a front side bus, which is shared bandwidth so you have more cores competing for the same bandwidth.

This can potentially make a same clock quad core (marginally) slower in some circumstances. Value for money is still with dual cores IMHO. That being said, I have a quad core.

1
  • 1
    The Nehalem uses QPI (QuickPathInterconnect) which is in the same park as Hypertransport.
    – nik
    Jul 15, 2009 at 16:22
10

I like how Donald Knuth sums it up:

To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks! I won’t be surprised at all if the whole multithreading idea turns out to be a flop, worse than the "Itanium" approach that was supposed to be so terrific—until it turned out that the wished-for compilers were basically impossible to write.

Let me put it this way: During the past 50 years, I’ve written well over a thousand programs, many of which have substantial size. I can’t think of even five of those programs that would have been enhanced noticeably by parallelism or multithreading. Surely, for example, multiple processors are no help to TeX.

For some applications, it's very easy to take advantage of multiple cores. But some other applications will never benefit from them, while the others might benefit if the developers optimize them (which is very difficult).

2
  • 5
    In general I agree that multi-cores wouldn't help TeX itself. But it would be a big win for a graphical TeX editor, that repeatedly calls TeX to update the display as the document is being edited.
    – KeithB
    Jul 15, 2009 at 16:32
  • 4
    This is one of those places where my heart goes for Knuth, but my mind does not agree altogether.
    – nik
    Jul 15, 2009 at 16:44
5

For my main desktop at my employer, I use a dual quad-core Xeon machine with 8 GB of RAM.

When I am programming, and I have Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (or 2010) and a local Sql Server Express instance... everything hums along just fine.

Comparatively, I had a dual core before, and things would start to crawl with just Visual Studio, Chrome, and Sql Express running.

Its a matter of what you do with the machine. If you are a power-user that will be video editing, 3-d modelling, or programming with significant resources.. then yes, you will want the quad-core and lots of RAM.

1

For everyday use and programs that aren't multi-core optimized a fast dual-core will beat a slower quad-core.

As time goes on and properly multi-threaded apps become the norm quad-cores will pull ahead.

From a bang for your buck perspective, dual-cores still have a comfortable lead.

1

It depends. If you're doing things that will use every core heavily 4 cores is better (video editing, rendering etc). Most people will find two fast cores better at the moment because not many applications are written to take full use of 4 cores

1

Note that the latest i7 processors can actually increase the clock-speed on the active cores when not all of them are needed; for example, if you have a quad-core at 2.4GHz, but the software only needs 2 cores to run, then it may automatically get clocked up to 2.8GHz (not an actual figure, just an example).

And the latest generation of the i7 I think can clock up 3 or 4 bins if only one or two cores are needed. As such, it may not end up staying as much of a trade-off as it currently is...

1

According to Anandtech.com:

It all boils down to the TDP of the chip, or its Thermal Design Point. The more TDP constrained a platform is, the more you stand to gain from Intel’s Turbo mode. Let me put it another way; in order to fit four cores into a 130W TDP, each core has to run at a lower clock speed than if we only had one core at that same TDP.

At higher TDPs, there’s usually enough thermal headroom to run the individual cores pretty high. At lower TDPs, CPU manufacturers have to make a tradeoff between the number of cores and their clock speeds - that’s where we can have some fun.

This is all in context of having to choose between cores (or threads) and core frequency.

1
  • Would this be more relevant for an overclocking interest? Good article anyway.
    – nik
    Jul 16, 2009 at 9:02
0

In your case the quad-core would be better. Remember, the more cores you have the more parrallel processing you can do. So on your dual-core you might be able to run a single app faster than the quad, but the quad can run 4 apps faster than you're dual will be able to. Also, if an app is written to process in parrallel (multi-threaded), then the app will run better on a multi-core architecture.

This is all relative, though, as a quad-core running at 100 Mhz is not going to out perform a dual-core 4 Ghz. Generally speaking, though, the more cores the better.

2
  • You are assuming that an application that can work on two cores will also be able to take advantage of four cores. That is not always true.
    – nik
    Jul 15, 2009 at 16:42
  • @nik No I'm not, I was stating that a multi-threaded app will perform better on a multi-core architecture. I didn't indicate anything about proportional gain over the number of cores you have.
    – Joseph
    Jul 16, 2009 at 1:19
0

Depends what you are doing and the capabilities of your OS and applications.

If you have a lightweight OS and running a single CPU-bound application that can only use one processor then two processors at higher speed will be a better choice.

Otherwise, if the OS can schedule all the cores effectively and you are running many applications or applications that can make use of more than one processor the slower quad-core then one would expect better performance for lower power consumption and hence less heat output.

0

If you are doing a lot of video encoding, 3d rendering, or distributed source code builds then the more cores the better. You will see a marked difference in performance for these types of application as you move from 1 to 2 to 4 to 8 cores.

Otherwise running standard applications really won't benefit from more cores. Even games really won't exploit multiple cores that much. IMO, you are better off spending the money on a better graphics card.

0

Depends.

Very much so.

You can easily find a quad-core using only two cores. This partly has to do with the OS and with the design of the software. More so, they still share everything else, particularly the memory, disk, and devices.

You know the OS won't boot (noticeably) faster and the webpages won't download faster (they might draw faster though).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .