April 17, 2008
Last summer I posted a four part series on building your own PC:
My personal system is basically identical to that build, though it predates it by about six months. The only significant difference is the substitution of the Core 2 Duo E6600 CPU.
In my opinion, quad-core CPUs are still a waste of electricity unless you're putting them in a server. Four cores on the desktop is great for bragging rights and mathematical superiority (yep, 4 > 2), but those four cores provide almost no benchmarkable improvement in the type of applications most people use. Including software development tools. (Update: This paragraph was more controversial than intended. See Should All Developers Have Manycore CPUs? for a clarification.)
My original advice stands: for the vast majority of users, the fastest possible dual-core CPU remains the best choice. I overclocked my E6600 CPU from 2.4 Ghz to 3.2 Ghz, instantly increasing the value of the processor by about 800 bucks.
Beyond overclocking, the economy of building your own PC also lies in upgrading it in pieces and parts to keep it up to date. Once you've taught yourself to build a PC, swapping parts out is easy. That's an option you almost never have on laptops, and rarely on commercial desktops.
It's been almost a year and a half since I made any significant change to my PC build. That's an eternity in computer dog years. I was developing a serious itch to upgrade something -- anything -- on my PC. I did a bit of research, and I was surprised to find that the P965 chipset on my Asus P5B Deluxe motherboard supports the latest and greatest Intel CPUs. This is a pleasant surprise indeed; Intel and AMD change the pinouts and sockets of their CPUs quite regularly. A simple CPU upgrade, more often than not, forces a complete motherboard and memory upgrade. But not in this case!
So here's what I did:
- flash the BIOS* on my motherboard to the latest version, which supports the newest CPUs
- remove the old and busted CPU (Core 2 Duo E6600, 2.4 GHz, 4 MB L2)
- drop in the new hotness CPU (Core 2 Duo E8500, 3.16 GHz, 6 MB L2)
- Manually adjust FSB speed, memory voltage and CPU voltage
This chip is an outstanding overclocker. It's almost a no-brainer. The tubes are full of documented cases of this chip reaching 4.5 GHz and sometimes higher. I was fairly content with my effortless 4 GHz overclock:
If you're wondering why CPU-Z says this is a 2520 MHz CPU instead of the 4000 MHz you'd expect, that's because the CPU is idle. All modern CPUs clock down at idle to reduce power draw. If you run something CPU intensive, you'll see the CPU speed dynamically change in CPU-Z, as illustrated by this animated GIF:
This power savings is achieved by dropping the CPU multiplier from its default of 9.5 down to 6.0. If we do a little math, it's easy to infer the relationship between FSB (front side bus), CPU multiplier, and actual CPU speed:
Overclocking the CPU is simple if you can stumble your way through a few basic BIOS screens. The default voltage on this E8500 is 1.128 volts. By juicing the CPU voltage up to 1.36 volts, and setting the front side bus (FSB) to 420 MHz, we can hit the magical 4 GHz number. All we need to do is a little unit testingburn-in torture testing, and we can confirm that it's stable.
But you might wonder -- does this overclocking stuff really justify the hassle? Is going from 3.0 GHz to 4.0 GHz really worth it in terms of actual performance and not just bragging rights?
I'm glad you asked!
And the overall benchmark result in table form:
|Internet Explorer 7 SP1
|Firefox 3.0 Beta 5
That's a consistent 19% performance improvement in an interpreted browser language for a 33% increase in raw CPU clock speed. Not too shabby. It's actually more than I expected. The real speed difference between an E6600 and E8500 would be (slightly) greater than the pure clock speed indicates, due to the architectural improvements and larger L2 cache in the E8500. There also might be other languages and apps that scale more linearly with that 33% CPU clock speed increase.
So if you followed our original PC build plan, or if you're planning to build your own PC -- don't forget to factor upgrading into your system's lifespan! These builds are eminently upgradeable. Sometimes you'll get lucky and have knockout upgrade options like the E8500: a 4 GHz (almost) guaranteed drop-in CPU replacement for under 300 bucks.
* I am simplifying a little because I don't want to scare anyone. In the interests of full disclosure, here's the story. The ASUS Windows x64 BIOS flash program crashed while updating the motherboard BIOS. I can't quite describe the chill that went down my spine as I watched this happen. Any failure during a BIOS flash is irrevocable and permanent, the very definition of "bricking". To be fair, this is literally the first time I've ever bricked anything in at least 10 years of regular yearly BIOS flashing. I had to buy another motherboard and initiate a RMA on my original, newly BIOS-free motherboard. Let this be a lesson to you, kids: don't trust Windows software developers! Always update the BIOS from a boot CD or from within the BIOS itself using a USB key!
Posted by Jeff Atwood
Are you sure you're not falling prey to the multi-tasking myth?
Did you really just reference one of your own articles in response to a simple statement about how I work? I do multiple things at once, and it's how I roll. Is this true for you, or everyone for that matter? Of course it isn't.
You've seriously lost yourself in an endless cycle of self-referencing,, asserting truth through the fact that you claimed it was true at some point in the past. At some point your blog is going to get lost into some sort of infinite self-referential loop. I recommend you upgrade your server to a quad-core to make it resolve in infinite time instead of the infinite time it would take for a dual-core.
"No, I think Rick, Kevin, and to a lesser extent Dennis (minus the anger), are right."
Damn. Actually no, not damn. I've learnt something, which I wouldn't have done if I hadn't wanted to explore this argument further. Benefits of being fairly new to the field. If you're wrong, you learn something, if you're right, well, you'll be wrong again soon enough.
I've had a dual quad core machine for 6 months or so running 4 large development VMs in VMWare flawlessly - one debian, two Windows 2003 and one Windows 2008. I have some publicly accessible sites on each, and each is running a SQL server (two are running MySQL and MSSQL). It's great, i wish i had more cores.
Love the MIB reference Jeff :)
Someone saw on our CI machine yesterday some unit tests that I had named in the same way...no one got the joke!
Pete, the main point to my discussion is that I don't really have to have a new machine right now. The one I have works and it's stable. Sure, it slows down when doing a virus scan, but I just lower that task's priority and let it take whatever cycles are left over.
BTW, I run Process Explorer (free) which helps me push cpu-intensive hogs down and free up the rest of the machine. Some virus scans may take hours or more at that priority, but I never notice a performance hit when surfing the internet. Eventually those scans finish.
I'm happy, and that's all that matters.
So you're saying that you're doing incremental compiles with -j2, and 2 just happens to be the sweet spot?
Yes, exactly, at least for me.
If you're doing incremental compiles, the process should be close to instantaneous.
Yes, but the extra core does help push one closer to instantaneous. Right now, whether I modify one source file or two (or a header included by a couple source files), an incremental compile is roughly the same - about 4 seconds on my current project. If I modify more than that, which is a rare occurrence, it can go up to 6-8 with 4 files, etc.
If you're doing a full compile, then -j4 will be the sweet spot, and will easily outpace even an absurdly overclocked "desperately trying to prove my case" dual-core.
Yes, in my case I very rarely do full compiles, so I have little preference there. On full compiles I don't worry about speed - the computer can compile the project from clean faster than I take a tea break, and I rarely stick around to watch the GCC output flood by. Iterative compiles are all I'm concerned with, and money spent on 4 cores for me would be better spent on a faster dual-core CPU. Your mileage may vary.
"This is a pleasant surprise indeed; Intel and AMD change the pinouts and sockets of their CPUs quite regularly."
This isn't really that surprising. Intel's LGA775 pinout hasn't changed a whole lot since the days of Pentium 4. There are boards out there than can support all the way from Core 2 Quads down to a lowly Pentium 4. AMD on the other hand left a lot of users stuck when they switched from socket 939 to AM2 for a pretty small performance benefit.
Don't forget to pick a quality PSU, always research what you buy. Some companies have both bad and good products. Take Antec for example, their truepower and neo HE are top quality PSUs (both manufactured by Seasonic) but Antec also offer(offered?) lower quality PSUs.
Support high quality products by staying away from low quality stuff!
In my years spend with PC's (from 8088 to now) I learned something: Forget about upgrading. Buy a complete new PC instead. Time is more important than money. For a PC just to work with you can also buy a cheap 400$ Laptop to attach to external monitors. Gaming PC's? Buy a complete new one with components which fit perfectly together.
Your posts on building Scott Hanselman's computer and now this one on upgrading your own main working home PC are inspiring me to get back into building my own overclocked PC. The Core 2 Duo E8500 does look like a sweet overclocking chip and what I'd build a system around in the next month or two. I also like that Intel's current Quad chip at stock unpushed clock speeds will go into the same mobo sockets.
I get, big time, that your year and a half old rig and mobo can still take the intel chip you really want to overclock. But my question to you is this.
WHAT MOBO WOULD YOU CHOOSE if YOU WERE BUILDING AN overclocked system from scratch today. That is, what mobo does the verclocking job well today but also has as much upgrade headroom as currently feasible for Core 2 duo and quad core intel chips? Would it be the mobo Scott chose (with advice from you) nine months ago (the # MSI P6N SLI Platinum LGA 775 NVIDIA nForce 650i SLI ATX Intel Motherboard) or something else? What about the Gigabyte GA-P35-DS3P that Ars Technica favors for it’s Hot Rod rig?
Also if you were buying all new components, what heat sink would you choose today for that overclocking champ the Core 2 Duo E8500 and so far as can be forseen it’s likely successors over the next couple of years? And what overclocking RAM, with a plan to got to at least 4 gigs initially, and then up to 8 in a few months with a switch to Vista 64 (once WHS supports it)?
Thanks in advance. Love your blog.
To be fair, this is literally the first time I've ever bricked anything in at least 10 years of regular yearly BIOS flashing
What about Windows BIOS flashing? I mean, do be glad that the chance of breaking the BIOS is once every more than 10 years.
Any suggestions on a good video card (or cards). My motherboard is SLI compatible and what I have in it right now is a 512MB nVidia 8500 GT (or GTX...can't remember). I'd like either two better bang-for-my-buck cards or one of those SLI double-whammy cards. Any suggestions there? I'm running WinXP, 2.5 GB Ram, and a QuadCore 2.4 GHz Pentium (Wish I had read this a few months ago, before I bought the quad core processor).
Taking a potshot at Scott Hanselman's box? :/
From the MAx Builds a PC series at Channel8, a lot was brought up about efficiency.
The chart at the bottom of the power consumption results page which represents a form of performance per watt metric indicates a 49% improvement over the latest 65nm Intel QX6850 quad-core processor and a 2.2 to 1 efficiency advantage over Intel’s E6750 dual-core in Cinebench." I encourage you guys to look at the charts...here is another quote "Surprisingly, our QX9650 system draws substantially less power—34W, to be exact—at idle than the otherwise-identical QX6850 system did. That drops the QX9650 power consumption even below that of the dual-core Core 2 Duo E6750."
The QX9650 the 45nm chip is not a waste of power. I like it, video encoding is faster...everything is.
I was going to overclock my Athlon 4200+, the rumor mill says it can run at 3.0 and even 3.5 in some cases, which is pretty good for a 2.4. However I seem to have gotten the ONLY ASUS motherboard that wont let me up the CPU voltage.