Building a PC, Part V: Upgrading

You are still building your own computers? You still overclock CPUs? And you are telling that two cores are more useful than four? You “benchmark” hardware using JavaScript?

You are really funny but you should not talk about hardware. Find yourself a different hobby.

@Matthew
"Quad cores may not have any current use, but I know that a lot of software I write uses multiple cores appropriately (ie, a fractal generator doing the maths on one thread and the drawing on another)."

Ah yes, I can’t tell you how often I hear my Mum say “I need faster fractals with my e-mail and teleconferencing”.
Why is it that developers of high-end applications assume that when people say:
“quad-core CPUs are still a waste of electricity unless you’re putting them in a server… those four cores provide almost no benchmarkable improvement in the type of applications most people use”,
that he’s saying “I know your job better than you do”. He’s not. If you are doing a complex niche job that benefits from quad, it benefits from quad.
But surely, you then KNOW that quad-core is better for you. It’s when someone shells out an extra chunk of salary for hardware that they will never use, because the game manufacturer said their game uses quad cores. I mean, it’s technically true, but it misses the fact that it doesn’t usually BENEFIT from that.
Even Oblivion would require you to really max out the system to feel the effect, and apparently it’s not that impressive an improvement.
http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2747p=3

I’m one of these desktop users with both an x64 OS and a quad-core CPU. I have 8 GB of DDR2-8500 too. I’m not going to waddle a finger at you and scream “you’re wrong”, because I agree that the returns are diminishing, but they are definitely there in a desktop environment, depending on how that desktop user uses his/her system.

Windows is a multithreading environment, Jeff. Why oh why do you consistantly look at benchmarks targeted at benefits of multiple cores and their performance in a single application when it comes to a much grander scale than that? What about hardcore gaming (which I do) and running Apache and MySQL in the background? What about DVD encoding while streaming music and working on source code? How about virtualization for the developer that wants to test his cross-platform application?

I’m not saying you can’t do this with a dual core. Or even a single core, but it is hands-down significantly faster to do all of these simultaneous, CPU-intensive tasks with 4 cores than it is with 2. Or 1.

I think I’ll also disagree with how soon the market in general will turn over to spending more time writing multi-threaded applications. It’s just how the industry works.

Heck, less than two years ago, you said: “Upgrading from the slowest Pentium D to the fastest Core Duo (which is ~30% faster) is a giant waste of money for a gamer. Spend your money on a better video card instead!”

(Jeff Atwood, August 2006, http://www.codinghorror.com/blog/archives/000655.html)

And now you’re saying: “Four cores on the desktop […] provide almost no benchmarkable improvement in the type of applications most people use. Including software development tools.”

Which at least implies that there may be a significant improvement that isn’t benchmarkable, but wordplay really. You had already said that there’s no point in a number of other ways.

I’d like to see any self-respecting hard-core gamer out there that would rather go back to a single-core Pentium D and give up his Core 2 Duo, though Jeff. I think you’ll wind up eating humble pie on Quad Core’s as well.

My two cents.

(P.S.: I’m also not entirely sure we all agree on what the ‘average desktop user’ does with his/her PC, but it’s probably a safe assumption that your average internet-browsing, computer-illiterate user will likely never put the kind of strain that even a Core 2 Duo can produce. Then again, Quad Cores aren’t marketed towards this group either.)

Wrong link:
http://techreport.com/articles.x/12210/3

@KenW: I could easily say the same about my comment - if you don’t like it, don’t read it… however, we’re all adults here, and there’s no need to get into that sort of nonsense.

This being said, I stand by my original point - this blog is called Coding Horror, and a post about building hardware seems vastly off-topic to me. I don’t see how making this point is nonsensical or a waste of time. If this was a hardware blog and Jeff started talking about software, I would make the same complaint.

@Pete

I think the biggest issue is the point of diminishing returns. In even recent games, many companies state that having multiple cores doesn’t directly affect gameplay.

The key word is, directly. Indirectly, multiple cores become a boon. As you stated, sharing the workload across multiple cores allows more to be running on the system at once, as opposed to a single process tying up all of the CPU.

Personally, I won’t get a Quad Core for some time. Likely because my motherboard doesn’t support them, but I can expand it with better Core 2’s. I’ll drop in more memory and go to a 64bit OS prior to making a Quad Core a priority.

Why is it still even possible to brick the motherboard with a failed BIOS flash? Why is there no built-in backup for the BIOS? Would it be that hard/expensive to manufacture a BIOS chip with a ROM containing a backup of an old version, and a jumper that automatically flashes the ROM version over the current (bad) one? Or even to just have two whole flashable copies, with a jumper or automatic detection of a bad flash to revert to the “last known good” one? The BIOS can’t be all that big, surely the flashable memory isn’t that expensive!

Something I forgot to add that is relevant:

All other things aside, newer CPUs will benefit all users in at least some of the following categories:

  • bigger instruction set (SSE3, SSE4.1, etc.)
  • more on-die cache
  • support for higher bus speeds
  • lower power consumption

Depending on the specific use of the system, some of this will matter and some of it won’t. And for the bigger instruction set, that’s usually something that comes up after a year or two when the latest development tools have compilers that write machine code with support for those instructions. Immediate benchmarks can’t account for that (at all). Take a look at more recent benchmarks at TomsHardware:

http://www.tomshardware.com/charts/cpu-charts-2007/sisoftware-sandra-xi,391.html

The top three entries in this list are all quad core processors (the Core 2 Extreme QX6850 has four cores, despite its name). The rest of the list is filled with Athlon X2’s and Intel Core 2 Duo’s. Notice the difference in speed between quad core and dual core? They handily double and triple the scores of most of the dual-core processors. The insane Intel QX6850’s score is nearly four times the lower-grade dual-cores.

Though as the name implies, PCMark05 is quite an old timer and not optimized for some of the latest instruction sets, you can find its scores telling roughly the same story:

http://www.tomshardware.com/charts/cpu-charts-2007/pcmark-2005-cpu,382.html

On that chart, based on the CPUs it’s shown, the average quad-core scored 8,175 and the average dual-core scored 4,477 (I counted 12 on the list).

For the user that quad-cores are marketed to, I’d say they carry significant advantage.

How’d you get your hands on an E8500? I tried to find an E8400 a few weeks ago, and it was nearly impossible. I had to buy the OEM version from Newegg.

@Weeble

It’s probably a negligible cost, but because of the rarity of this kind of event and the extremely competitive computer industry, keeping costs down by shaving every penny possible is vital. I have seen boards though (Asus comes to mind) with automatic flash protection that revert to a failsafe BIOS if the primary fails. Gets you far enough to flash from a floppy or USB, but won’t boot an OS.

“old and busted”…“new hotness”…
someone was watching Men in Black 2 last night :wink:

I think the comments on quad cores are a bit questionable… not even a home computer is going to be running just two threads at once, Windows will soon see to that. The real reason for the lack of performance gain is a lack of multi-tasking on the part of the user…

Having a single piece of software optimised for multiple cores isn’t the only way that multiple cores can provide a speed boost, and a reasonable amount of software is/was already threaded for convenience of the developer, or the necessity of the application.

Certainly overpriced for what they are though… and in the end I probably agree that dual core is enough… after all, I get by fine with just one at home. :slight_smile:

Jeff, the thing is people who have been fooled into the quad-core will shut their ears and yell “42” all day. They just can’t deal with the truth that they have wasted a lot of money.

I have generally the same philosophy about incremental upgrades. However, I never overclock. My home rig is basicly in two modes:

Mode 1: Gaming. In this mode the 3D video hardware, and to a lesser extent the CPU is going full tilt for hours. Most hardware is really hard pressed to stay reliable when pushed like this under the best of circumstances. If I crash, its guaranteed to happen at a very bad time for me and my teammates who are counting on me. Sure, 3 extra FPS might be nice, but introducing the extra heat/instability of overclocking would be irresponsible, if not insane.

Mode 2: Productivity. In this mode, I’m not doing anything more stressful than running OpenOffice while streaming something from Youtube. I already have plenty of box to spare, so overclocking isn’t going to help me noticably.

Basicly, if you want your CPU or GPU to run faster, buy a faster one. If you can’t afford to, wait 3 months for the price to drop and then buy it.

(Hypocracy disclosure: I do like to buy BFG hardware, which tends to come overclocked).

Jeff, are you a gamer perchance? Gamers need all those cores. Supreme Commander requires dual core (I think). Valve has said that four cores is the “sweet spot” for Source games. Some games in the near future will be using one core just for physics calculations.

Also the “you don’t need four cores, two cores is just fine” argument could be levied about three years ago, only then it was “you don’t need two cores, one core is just fine”. If you’re a power user and/or a gamer, getting four cores is a good way to future proof your system.

But yeah, eight cores would be overkill. These days anyway.

They just can’t deal with the truth that they have wasted a lot of money.

You can always rely upon fanboys.

Here’s the funniest thing, though - I spent $30 less for my quad-core than Jeff would spend on his new CPU today. And I bought mine a half a year ago!

Buyer’s remorse is pretty ridiculous argument to fall upon, however quaint it might be.

Honestly, this is so ridiculous that it goes to the point of ludicrous (Oh Google Mail! How often I sit waiting on you to finish executing your JavaSCript. Seriously, is this farce?)

Browser javascript performance sucks - improving it is great.

Of course it’s great. But Jeff’s marginal little clock-speed improvement is laughably tiny in the grand scheme of things. Firefox 3 improved JavaScript, at least in artificial benchmarks, by magnitudes more than Jeff’s 19% improvement…and it didn’t cost anyone a thing. Hell, simply changing string concatenation (see the ridiculous SunSpider benchmark for an example of that in action) can be a factor of 100:1 in performance.

“Am I the only geek on the planet who cares about software, but not hardware?”

Any time I encounter a developer who can swap out PC power supply at a moment’s notice or overclock their CPU, my level of respect for them INSTANTLY increases by several orders of magnitude. Right then and there I know they are passionate about speed, efficiency, and tweaking to maximize potential and there is no question that translates to their coding ethic.

On another note: I own both a Duo and a Quad and I would take a 3.6Ghz Duo over a 2.4GHz Quad ANY day of the week.

How, exactly, do you “watch a video” and do anything else at the same time?

I regularly have an MSDN open on another window while doing “real work”, context switching at interesting movements. I hardly think I’m rare. Hell, sometimes I have a full-blown, full-screen game running in the background, AFK, while I do some SQL work or finish a compile. Again, I doubt I’m rare.

You live in an odd little world, Jeff, when you think it’s all about your single-process artificial benchmarks and hoping for JavaScript benchmarks to finish quicker.

Irrevocable and permanent?

BIOS flash chips are a standard part, and almost always socketed; even without using the infamous swapping trick, you can simply use an external flash programmer. Most BIOS flash upgrade files I’ve seen are a simple image of the flash contents, so you don’t need to use the original flashing program or find out how to decode it.

I so very much disagree with you this time, Jeff.

“… those four cores provide almost no benchmarkable improvement in the type of applications most people use. Including software development tools.”

Huh? Paint.NET, for one, shows large gains on quad-core versus dual-core systems. There’s even a benchmark, http://paintdotnet.forumer.com/viewtopic.php?f=16t=21669 (admittedly the benchmark doesn’t fully correspond to the full app’s performance – I have done that test though and the difference is noticeable). I’d say that qualifies as “applications most people use.”

Visual Studio 2005 and 2008 also benefit, which allow for multithreaded builds. The latter saves me a lot of time every single day. I’d say that counts as a “software development tool.” Many non-Microsoft build systems are multithread aware/capable as well (VS was probably the last on the block to get it, in fact). At work our command-line build system is multithread aware and we’ve noticed large gains going from single to dual to quad core over the last few years.

Running a few CPU-hogging Virtual PC’s and still having plenty of CPU power left over for lots of other stuff is a very nice benefit as well. As a developer, I can’t see any reason to not have a quad-core CPU with the prices down at ~$260 USD for a Q6600. Same with 8 GB of RAM going for $175 USD (and those are prices from Dell! newegg is even cheaper).