Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

Ultimate PC 2010

Scott Hanselman and I have been doing parallel builds of the ultimate developer machine.

Except for my Commodore 128, an Acer netbook, and one IBM PS/1 286 way back, I've built every PC I've owned. I used to live in back half of Computer Shopper back when it was a hulking oversized magazine an inch and a half thick. I enjoy building machines, picking components, and tuning the beast, even if I can potentially get a better deal by buying a Dell or something.

My current PC is based around an Intel E8400 45nm dual core chip. I had really good luck overclocking that guy using air cooling, but performance is still lacking. The drives are dog slow, and the 4gb of memory (it's still running 32 bit so I see even less - I did the unsupported upgrade path from Vista to Win7 betas to RC to RTM) doesn't support well having a video encoder running, multiple instances of Visual Studio and the other things I do as part of my job (and fun). Here's the current WEI for the old PC to be replaced:

image

The scoring is respectable, but far from awesome. I want to kick it up a few notches in this new build.

Component Matrix

Here's a highly subjective table of what my research has shown to be the Good/Better/Best choices for a developer machine. I obviously have not bought each and every piece of hardware here, but have bought some pieces, and have done a fair bit of research. Notes after the table.

Component Good Better Best
Operating System Windows 7 64bit Windows 7 64bit Windows 7 64bit
Display One large 1920x1200 24+ display 2 or 3 24+ 1920x1200 displays side x side
1 or more 30" Displays running 2560x1600
apx $1500
Video Card Pretty much anything except on-board GPU nVidia 200 series or ATI 4000 or 5000 series nVidia 470+ or 5800 series ATI
Processor Intel Core i7-930 4 core at 2.8ghz $290 Intel Core i7-960 4 core $569 Intel Core i7-980x 6 core 3.3ghz
$1000
Memory 8GB memory compatible with your CPU and Mobo 8-12GB of dual or triple channel (depending on CPU/Mobo) 12, 16, or 24 gb of DDR3 running at 1600+ MHZ
Primary Storage Fast 7200rpm or 10,000rpm drive at least 500gb. WD 600gb VelociRaptor is a good choice. Two VelociRaptors in RAID 0 is even better.
$100-$560
Crucial 256gb C300 SSD
$610
No Best bet for SSDs yet. Seems really promising for next few years. Stick with Crucial 256gb C300 drive.
Secondary Storage skip 1tb or more of a decent 7200RPM drive. Two VelociRaptor 600gb drives in RAID 0 or RAID 1
Power Supply Across the board, you want a name-brand power supply with a decent efficiency rating. Stay away from generic supplies.
Optical Drive I don't watch blu-ray on my PC, nor do I do much for burning, so most any SATA combo drive will do.

"Good" is the minimum for a productive developer desktop machine that you will be happy to use.

"Better" is a step above. It means less waiting around for things to load, more display real-estate and generally a happier developer experience

"Best" in this case is capped at what I consider reasonable/obtainable developer dream machine material. While you could certainly get 4 30" displays and that cool EVGA dual Xeon board with two 6 core Xeon processors and 48gigs of memory, most of us would not benefit from that other than bragging rights.

On to the individual components.

Operating System

A 64 bit operating system is a no-brainer here. Across all three levels I specified Windows 7 64 bit.

What I Chose

Windows7_h_rgb

Windows 7 x64

Why

If you want more than 3.75 or so gig of accessible memory (it's around 2.75gb if you have two video cards), you need to go 64 bit. I develop for Windows, and Windows 7 has proven itself as a very capable and high-performing operating system for developers, so choosing Windows 7 64 bit is a simple choice.

Display

Get as many pixels as you can afford, on as few screens as possible. You'll actually prefer using a single 30" screen vs. two 24" screens in many cases. Of course, 2 or 3 30" screens is pretty awesome too :)

What I Chose

image

I personally have a Dell 3007 WFP HC 30" display as my primary (purchased used on ebay for a bit over $600), a 20" up top for twitter and a 24" on the side in portrait mode. Since I picked up the 30", I rarely use the 24. I'm strongly considering picking up another 30" (maybe the nice new Dell 3008 WFP since it supports DisplayPort) and ditching the 24" and possibly the 20"

Why

Developers are multitaskers with IDEs, running test applications, email, internal and public chat, and many other applications running at the same time. You can switch between them, of course, but being able to keep as many visible at the same time can really help productivity. Additionally, having more code visible on-screen, without having to hide other UI elements, is a good thing. With the 30" display, I can't remember the last time I maximized anything other than a video player.

Video Card

Unless you're trying to hit a Windows 7 7.9 WEI, or you game on your PC, pretty much any modern card will do. If you run more than two monitors or you have a couple 30" displays, you'll want to step up the tier on cards to make sure they can push the pixels. Otherwise, a mid to high level DirectX 10+ card will be fine.

What I Chose

That said, I wanted a single card that would support 3 displays, and also support DirectX 11 so I can be a little future-proof. I had written off ATI years back when they hosed me by releasing buggy drivers and refusing to update them while they developed newer cards. Based on performance specs and features of the new crop of cards, I decided to give them another try.

image

I picked the Sapphire Toxic Radeon HD 5850. At $345, it's not a steal, but it's a decent price. You can save around $25 if you want and get the Vapor-X version and overclock it to the speed of this card; they're essentially identical.

Why

While Windows 7 uses a fair bit of 3d GPU support, many of the features of higher end cards are exclusively for gamer use. I considered workstation cards, but the lower-end ones wouldn't cut it for 30" displays, and the higher-end ones were just too expensive. The ATI card has two DVI ports and one mini DisplayPort port. Since I'm considering a second 30" display, I'll make sure that one is a DisplayPort monitor like the Dell 3008 WFP.

Processor

I'm biased to Intel processors. I've always had good luck with them, and they've proven to be the fastest on the high end, but not necessarily the most bang for the buck in the mid-range. If you like AMD processors, that's cool, substitute your favorite.

What I Chose

image

I went with the Intel 6-core 980x extreme edition CPU. This will be the first time I've ever purchased the top offering from a CPU manufacturer. If you don't want to the unlocked multipliers and other features of the extreme edition CPU, you can save $100 and get the newly released i7 970. Stock clock on that is 3.2ghz instead of the 3.3 of the extreme edition, but it looks like a solid processor.

Why

I multi-task a lot. I like to have things like Zune doing some downloading/encoding, maybe Premiere Pro doing a render, and even some 3d stuff going on. I currently use multiple machines to make this possible; being able to have serious background work (or apps that can use all 12 virtual cores) running is a huge boon. The 980x has 6 cores plus 6 hyperthreading virtual cores, running at 3.3ghz for massive computing power.

Motherboard

The motherboard is often an afterthought once you've picked out the type of processor you want. I left out the motherboard from the list at the top. Unless you're planning on some real overclocking or multiple GPU work, the motherboard you choose just needs to support your selected combination of components.

What I Chose

image

For this build, I spent more time looking at motherboards than I ever have before. The motherboard Scott and I both picked is the Gigabyte GA-X58A-UD9, on sale at NewEgg as part of a combo deal when purchased with the Intel 980x CPU. At retail, it's not worth the price, but at the combo deal price at NewEgg, it was definitely worth picking up. We were going to go with the UD7, but the combo deal sealed it.

Why

The selected motherboard had to support:

  • Socket 1366 for the 980x
  • Overclocking
  • At least 12gigs of memory
  • USB 3.0
  • 6.0gbps SATA III
  • Several PCI Express cards (I use a high-end sound card for recording: the E-MU 1616; my current mobo has issues with irq sharing with it)
  • The usual USB and network headers

I've always been an Asus guy; my last 6 motherboards at least have all come from them. This is a departure from my usual brand and a venture into a well-respected brand's product. Other contenders included the UD7 from Gigabyte, the high-end Asus boards, and the top of the line EVGA board. In the end, this board (at the bundle price) had everything I was looking for.

It remains to be seen if the water cooling on the chipset is worth it, or if (as it looks) the nozzles are too close to the CPU to be anything more than a pain in the butt.

Memory

Everything I've read says it's difficult to get 24GB of desktop memory working reliably at overclocked speeds. I like a challenge, but didn't want to deal with one with memory on this build. I've also noticed that 12gb and 24gb kits (3x4gb and 6x4gb, respectively) are currently hard to find in higher clock speeds and better timings. There's a fast 2000mhz G.SKILL 24gb kit coming out, but not in time for this build (and it probably runs a grand or more). For those reasons, I decided to stick with 12gig total, using 2gb modules and all 6 slots of the board.

What I Chose

image

I went back and forth for a while on speed and timings. I finally decided to settle on two sets of Corasair XMS3 6GB kits running 1600mhz at 8-8-8-24 timings.

Why

There were faster kits available, but I felt this one gave me the most bang for the buck and had a solid reputation - at least until I replace it with the 24gb kit ;) 12GB doesn't seem like a lot of memory, but I'll see how well it does. If I feel the memory pressure early on, I'll at least have a solid 12GB of memory that I can use in one of my custom server builds.

Primary Storage

In most systems, primary storage (typically spinning platters) is the weakest link. It's noticeable too. Most operating system start up time, most application start up time, and most data loading time is all due to the speed of your drive. Back in the day, we used to mess around with RAM Disks in DOS and Windows, as drives back then were even slower. These days, we can choose to go with SSD.

What I Chose

image

The Crucial RealSSD C300 256GB SATA III MLC Internal Solid State Drive (SSD). I picked up mine locally, and it was actually a few bucks cheaper. Still, this is expensive for 256GB of storage.

Why

I've run into so many harddrive-related bottlenecks over the past couple years, that I decided to bite the bullet and go with SSD. I didn't want a small SSD, though; it had to be at least 200GB, preferably 250GB+. I wanted a drive larger enough to hold the OS, apps and most of my profile. Sure, I'll likely move media and other bits to a secondary drive, but that's ok. I just want my apps to instantly install, instantly appear and run like buttah.

There are faster SSDs out there, but the price jump is significant. You're looking at $1000 or so to go with one of the OCZ PCI drives, and the performance increase isn't proportional. SSD tech is still new, so I decided to go with the best I could get under $700.

Secondary Storage

I keep larger files and files that I don't often access (downloaded installers, my media collection, same-PC data backups, old projects, and more) on a secondary drive. Traditionally this has been larger and slower than my primary drive.

What I Chose

image

The Seagate Barracuda 1TB 7200 RPM drive, retail kit. This is a reasonably fast 1TB drive. Reviews on hard drivers are uniformly terrible; everyone likes to do a review when they get a DOA. Hopefully this one does well. If not, it's always good to have a backup on something like Windows Home Server anyway.

Why

It had a good price on the shelf at MicroCenter (local store). This was unapologetically an impulse buy.

Case

The case should be one of the later items you pick. In my case, the motherboard selected required that one of a select number of cases be used, as the board is larger than ATX. I also like a case that looks good, is quiet (or can be made quiet), has room for water cooling, and doesn't require scraping my knuckles to install stuff.

What I Chose

image image

I chose the Cooler Master HAF-X. This is one beast of a case made to support both air and water cooling.

Why

At the top list, I left out the case as I think it's (within parameters) a personal decision. I'm going to try and go a little nuts on water cooling (my first time!). It's roomy enough for the oversized Gigabyte board, is coated black inside (I was going to spray paint any other case, so this saved serious time), has excellent air cooling for drives and video card, has great cable concealment and just looks good. Scott and I both picked up the same case to hold the board: the Cooler Master HAF-X. There's plenty of room in there for the motherboard, multiple drives, and the water cooling radiators I'm considering. If you decide to air cool, it has TONS of good fans and great airflow.

I usually keep my case up on my desk, behind my displays. When I build my new home office (probably next year) I'll likely keep it on the floor under the desk.

Summary

Here's the summary of the new bits I bought for this build. I already own the locally bought stuff. The NewEgg items will be here this week.

Category Purchased Price
OS Windows 7 x64 Prices vary
Video Card Sapphire Toxic Radeon HD 5850 (NewEgg) $345
Processor Intel i7-980x 3.33ghz 6core Processor (NewEgg) $1000
Memory Corsair XMS3 6gb kit (x2) (NewEgg) $340 total
Motherboard Gigabyte GA-X58A-UD9 (NewEgg) $479 after combo deal
Primary Storage Crucial C300 256GB SATA III SSD (Purchased Locally) $609 locally
Secondary Storage Seagate Barracuda 1TB 7200 RPM (Purchased Locally, Retail kit) $79 locally
Power Supply Corsair HX850W 850W 80+ supply (Purchased Locally) $140 on sale locally
Case Cooler Master HAF-X (Purchased Locally) $200
Optical Drive LiteOn iHAS324-98 SATA DVD writer (Purchased Locally) $25 locally
Total   $3217 (not including cooling)

What's next?

I need to order the water cooling components, a good battery backup to replace my aging one, and then assemble this thing. That'll be my tech project for August after DevLink 2010.

Updates

I did a bench build using air cooling just to verify the pieces work together. Raw video is below. A complete Windows 7 install from a USB stick, including my one dumb reboot caused by leaving the stick in, took around 8 minutes.

After I completed the build, I had to replace the power supply due to an over-stressed wire pulling out.

Here's a current photo of the inside of the beast. More information and photos in the links below.

Related Links

17 comments for “Ultimate PC 2010”

  1. Petesays:
    @iceclow

    I have some spare rack cases that take regular ATX boards. Two of the four rack servers I have are built that way. The other two are IBM 345s that were specifically built for rack use. Those make better use of the room than the custom ones, but no issues otherwise.

    Pete
  2. shoeksays:
    Pete, I'd check out AnandTech's recent articles on the SandForce controller for SSD's. My money would go towards one of these for the boot SSD to get the improved write times over the Intel and hold close to Intel on everything else (4K read/write is Intel's strength). You can get the OCZ Vertex LE 100GB for low 300's. Better yet -- RAID0 two of them together and back it up nightly to a server or the 600GB VRaptor.
  3. Alessandrosays:
    Hi,
    I am also a developer (but not skilled like you :)
    I would suggest you an ATI 5870 or the integrated-dual GPU ATI 59xx.
    With the 5900 card you get the fastest card today, and it takes only 1 PCIe 16x slot.
    I would not spend so much on the processor because Intel has already revealed its future plan, so the technology will soon go futher to SandyBridge and 32nm + other optimization.
    I think the esa-core is overcosted.... the i7 870 has enough power for years, until next big upgrade.
    My 2 cents,
    greetings
  4. Matinsays:
    Dear sir,
    I just wanted to know that it might be better to choose ASUS P6X58D Premium because ASUS P6X58D-E does not have a badge of Windows 7 ready based on ASUS site.
    If you think it is not a big deal, please let me know it ;)
  5. Chrissays:
    We have been making a very comprehensive "future development rig" testing for our company too.
    Our current workstations are 4 years old and running a build on them takes always a few minutes..multiply that by few tousand times per year and you can clearly see where the money is lost.
    The solution is - POWERFULL an EXTREMELY FAST workstations. We measured every (borrowed )rig precisely - we tested build times in various scenarios. We were desperately trying to find such a solution that would cut times by factor of 4-5.

    We produce web apps for Governemnt, portals..etc.. everyting in .NET. VS2005-2008. We were also tempted to go 64 bit ...everybody likes progress and evolution :)
    BUT.
    We have found out that there is price paid, in terms of performance, when choosing 64 bit Win.
    There can only be two resons for going 64 bit.

    1) If you want to develop 64 bit software. Only relevant for dekstop apps today.
    2) If you want to address >3.7 GB memory to get even more performance gains.

    1 is no concern of us. But the 2 is..We thought that 32bit+3.7GB cannot be faster than 64bit+4GB...but for our suprise IT WAS. Even bigger surprise was that 32bit+3.7GB is still faster than 64+12GB.
    We were perplexed by this..this was a dilemma.WE wanted to be 64 bit but it did have the benefits .Furthermore there are some problems with VS2008 and VS2010 which are not native 64 bit apps.
    ----------------------------
    I will cut the crap
    ----------------------------
    We ended up with this

    W7 32bit + on MOBO with 16 GB RAM.
    Do not jump to conclusions here yet :)

    The first 4GB(3.7GB) is eaten up by WIN7. The Second 4 GB (5-8) is used as RAMDRIVE on which VS2008 is installed and also a manually moved temp cache for some assemblies. (I am a manager..so this may be not 100% precisely formulated) The third 4GB (9-12) RAMDRIVE is eaten up by the software project. The fourth RAMDRIVE (13-16) is used for windows swap file.

    This solution proved to be THE fastest. Of course this all is ceteris paribus related to the rest of components.. you also need to have two SSDs in strip configuration etc..etc..

    The point is. we have found a software that can give you access to the "upper memory" that is normallly not available in 32 bit windows due to adressing issues.
    http://www.superspeed.com/desktop/ramdisk.php

    All RAMDRIVERS are translarently backed up when shutting down the Pc and restored/mounted when booting up.

    And off-course - you need an UPS to protect RAMDRIVERS from power outage.

    Some stats>
    OLD PC - 4 min 31 sec - build time
    NEW PC without RAMDRIVES - 1 min 15 sec. build time
    NEW PC with RAMDRIVES - 37 sec.

    Hope this helps.
  6. StarTrekRednecksays:
    Pete, thank you for your selfless service to the community by taking the time to open all this to the community. May I probe for one more question. Did you have any trouble having all your RAM recognized? From Computer -> Properties, was there ever anything like "Memory 12GB (7.99GB usable)"? I know Hanselman mentioned some problems dealing with memory recognition and it having to do with the chipset. Thanks.
  7. Ben B.says:
    Pete,

    I am curious as to why you chose the Gigabyte motherboard. It seems to get fairly poor review scores on NewEgg and you stated you had always been an Asus board purchaser before. I typically have gone Asus and am curious as to the reason for the Gigabyte, as I am looking at making a similar rig and want to make sure I understand why the Gigabyte was a better choice than similar Asus offerings.

    Thanks!
  8. Petesays:
    @Ben

    There were several reasons at the time.

    1. Other gigabyte boards had great reviews (this one was brand new, had hardly any reviews)
    2. Got a bundle deal on it.
    3. It was one of the only good boards with Sata 3 6gbps

    Most of the complaints about this board center around price, or expectations for that price point. At several hundred dollars off, this board was perfect.

    That said, it's harder to overclock than other boards, and I'm less than impressed with the Marvell Sata 3 controller. Unfortunately, Marvell is one of the only games in town when it comes to 6gbps.

    Would I do it again today? Probably, but I'd also take a hard look at the offering from EVGA.

    Asus had nothing that competed with the feature set.
  9. Ben B.says:
    Pete,

    Thank you for the quick response! That is interesting, and it points out I need to investigate further. I am so used to purchasing an Asus board that I think I almost have a mental block/ fear about going with another brand. Primarily because I have had nothing but good luck with the Asus products over the years. Clearly I need to look at the feature sets of each more because I thought the similarly priced Asus board basically was equal feature wise.

    Thanks again, I think I will check out the EVGA as well.

    Ben
  10. gpksays:
    There was a great article a while back from anandtech that pretty much said that faster RAM MHz didn;'t really affect much for most scenarios.

    IIRC it also said that in memory intensive lower timings/latency helped a tad.

    http://www.anandtech.com/show/2792

    Also afaik if you're using all 6 banks of the X58 chipset it's limited to 1333MHz (non oc'd) whereas w/ 3 banks (3 x 4gb) you wouldn't have this issue; or something like that.

    Sleepy and too lazy to fact-check :)

Comment on this Page

Remember me