7

I was reading the Jeff Atwood post on this topic and was wondering how much of that is still true today. His post is from Sept. 2007. This question stems from another question I asked recently which sent me to another question on the topic. So my question really is: As of late July 2009, what is the point of diminishing returns when it comes to CPU Cores?

I am looking to build me a development workstation for home. But I also want to play games (FPS, RTS) and do some work with Photoshop.

8 Answers 8

13

Ultimately software needs to be written multi-threaded to use the cores and get the full performance out of the machine. The applications you mention, Photoshop and most 3D games are already written to use the hardware and have been for years.

Just don't expect notepad or ms-paint to be any quicker :-)

Multi-cores are going to be ubiquitous in the future, (if they aren't already), and Microsoft and Apple are working very hard to make using all the cores as easy as possible for developers.

I personally don't look at the number of cores, but I look for the sweet price / performance spot when it comes to processors.

Normally Intel have their high end processor with their highest clock speed, and number of cores that is really expensive. I then look at the lower clock speed versions of that processor and find that there is a reasonably priced high end processor. Not the highest end processor, but still a really good one for a good price.

I then take the money I would have spent on the processor and use it to put as much memory in the machine as it will take / I can afford.

I think that gives the best performance for price, aka bang for your buck.

4
  • 3
    "most 3D games are already written to use the hardware" -- You'd actually be surprised at how few games take advantage of multi-core processors. Those that do generally only use 2, so having a quad core won't help in that situation. Though I imagine the majority of future games will be written with multi-core in mind, it's not the case now. Commented Jan 4, 2010 at 23:20
  • @SashaChedygov Even when they aren't used by the game additional cores can help by handling the overhead of other apps running in the background. Testing with World in Conflict Toms saw a 20% FPS penalty from a background AVG scan on the quad, and a 60% hit on the dual core system. Without the virus scan running the FPS difference was negligable. tomshardware.com/reviews/cpu-cores-performance,2373-10.html Commented Jul 26, 2012 at 14:43
  • @DanNeely: True, but I don't think most people run CPU-intensive apps in the background while gaming the majority of the time. If you do, then a quad-core is probably worth it, but that's something that should be looked at on a case-by-case basis. That said, I just upgraded to a quad-core machine and am glad I did. Commented Jul 26, 2012 at 20:37
  • @SashaChedygov Assuming the average user, to include casual gamers, has the technical literacy to make sure their virus scanner/etc are configured to only run in the middle of the night is naive. Windows update defaults to running on boot and since it can strangle a single core box, I suspect it would cause problems on a dual core box if a game with 2x heavy threads was running. Then there are times when a page in your web browser barfs and starts running an infinite loop in javascript. Without checking task manager this isn't always easy to notice since the browser UI doesn't always hang. Commented Jul 26, 2012 at 20:47
8

Don't all 3 links say exactly the same thing? It depends on your software

If you actually doing concurrent programming, you don't run into lock contention issues with the number of cores we have today on the desktop. You do have to start worrying about that when you get to 16+ cores. There are Azul systems with 768 cores and they are all doing useful work. Diminishing returns is usually a temporary issue. The future usually fixes it.

I would just buy a quad core. Software of tomorrow will use all of it.

4
  • +1 Seconded, Quad core computing can be considered future proofing your PC that little bit more. But I wouldn't want to rely on the future to fix something.
    – Qwerty
    Commented Jul 27, 2009 at 23:24
  • 2
    +1 - Even with software that only uses a single core, having the option to switch background tasks to their own core (set processor affinity) is pretty sweet.
    – romandas
    Commented Jul 27, 2009 at 23:57
  • 1
    but by the time "tomorrow" arrives, you could have saved money by buying the new stuff then. Commented Jul 28, 2009 at 6:07
  • 1
    Jeff echoes exactly what I am trying to get at: I don't want to spend more money for something today that will be cheaper and more useful in the future. But at the same time I want to get as many cores as it is sensible today. Commented Jul 29, 2009 at 22:22
6

It may be worth considering recent i7 processors in this context, since they have the 'auto overclock' feature on workloads that are not very parallel... this may to some extent give you the best of both worlds.

(The way this works is, if there is not enough parallellism, the CPU will move all the work onto one or two of the available cores, put some/all of the other cores into a low-power state, and overclock the still-working cores a few speed steps).

Note that the earliers i7 processors did not step up that much, but I believe from memory that the latest ones do a fairly reasonable overclock. This means that mostly single-threaded games could increase the clock speed to run fast, and parallel workloads could reap the benefits of 4 cores, both at the same time.

(I'll see if I can find a link about this and add it)

Addendum:
It appears this technology is called "Turbo Mode" or "Dynamic Speed Technology" depending on where you read. Current i7s only overclock by up to 2 speed bins (typically 266MHz). However, the Lynnfield range when release will apparently be able to do 4 or 5 bins (533 - 677MHz), which would boost a 2.93GHz processor to 3.6GHz on non-parallel workloads.

Also note that this feature is apparently not dependent on how many cores are in use, but rather how heavily they are used. It is based on the amount of headroom in the TDP that is left so that the processor can overclock without breaking the thermal profile it is designed for. Note however that 'headroom' would usually be due to under-utilised cores, so the point still more or less stands.

3

IMO, software today is still being formatted for dual cores and most dual core processors are probably not being used optimally. If I was presented with the choice and the dollars were the same, I'd probably by the quad core. Outside of that, stick with the dual for now.

2

I myself am rendering a lot of artwork, both as hobby and to include in some of the software I create. So that's why I ended up with a new Quad-core system. (And a dual-monitor system, and a NVidea card with 1 GB and a system with 12 GB RAM, running a 64-bits Vista version.)

Do I notice a difference? Well, when running multiple applications, my system tends to stay responsive, unless every application needs disk or network access. It doesn't make much difference when compiling new projects or even when running the more common applications. But as I said, I do render a lot and it's nice to know that I can render two different images at the same time and still have enough power in my system to play chess or browse the Internet without any noticeable delays.

Basically, determine your needs first, then check how much you're willing to invest. My new system did cost me about € 5200 and it's mostly used at home for just hobby-projects. But it's worth every cent in my opinion.

Will there be more software which can use these multiple cores? It depends on the need for using multi-threading techniques in those applications. It is funny, though, but Internet Explorer 8 creates new processes for every new tab page or window that you open, so it will be able to perform faster on a quad-core system, except for it's need to use the network resources. You could have 50 tabs open in IE8 and still slow down to a crawl simply because your internet connection is slow...

2

Stuff like this IMO is a waste of braincells. I've never heard of anyone complain about having too much CPU, memory or hard disk. If you're building or buying a computer you need to know what kind of workload you expect and what your budget is. In 95% of cases, budget is the limiting factor of any PC design choice.

In your case, games are the highest-performance workload that you'll be doing. Photoshop is a red herring... at work we buy $350-450 PCs (Dell 760) and the graphics guys are thrilled with the performance that they're getting.

If I were you, I'd splurge on the video card, then go to NewEgg's CPU section, sort by the number of reviews, and pick one of the top-5 CPUs that fits your budget after buying the video card. If you can't afford one of the top-5, you'll need to adjust your budget, buy a cheaper video card or go for a cheaper processor.

1
  • 2
    Well, let me provide the first complaint about systems being too fast, then. :-) Back in the good old MS-DOS time, lots of applications were written in Turbo Pascal. But when CPU's started to increase in speed, those applications just started to crash, simply because they had their own timers related to the CRT, which would overflow when systems were too fast. Many systems could not be upgraded before the software was upgraded. This is something which will repeat over and over again. Basically, faster hardware requires new versions of software. And people always nag about reasons to upgrade... Commented Jul 28, 2009 at 3:52
2

I asked a similar question on multi processor systems: Is it possible to use a dual processor computer as your desktop?

Plus another relevant question that touches the subject: Does the Intel i7 offer real improvement over it’s predecessors?

1

I have a few dual core development machines and rarely do I see both cores being used. I would save yourself the money and stick with dual core.

Games might be different.

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