Scott Hanselman

Ultimate Developer PC 2.0 - Part 3 - UPDATE on Building a WEI 7.9 and RFC for building a GOM (God's Own Machine)

July 27, '10 Comments [28] Posted in Hardware | Podcast
Sponsored By
Big Ass Mobo As a reminder, if you're just turning in, here's our glossary:

  • WEI - Windows Experience Index. How fast is your machine? If you say "I've got a WEI 6.0" you've got a good machine, for example.
  • RFC - Request for Comments. This is crowdsourcing. I want to know what YOU think we need to do to make a machine that is so fast that it'll max out at WEI 7.9 and be a GOM.
  • GOM - God's Own Machine. If the Good Lord had a computer, it'd be a 7.9. We want to build that machine.

There have been two posts so far:

There were lots of great comments on both posts, and arguably there is more content in the comments than the posts! I want to give a big thank you to all the thoughtful people who have commented. You all know more than I do about this topic.

The point of this exercise is several-fold.

  • First, I haven't built a machine in 3 years, since the first Ultimate PC, lead by Jeff Atwood. Every Jedi should build their own lightsaber.
  • Second, it'd be interesting to see if it's easy (or how hard) to get a 7.9 WEI (the current maximum) on a machine given a $3000 limit. It's also interesting to see what a $1000 PC gets. Yes, we all realize that WEI is just one benchmark, but it's a public one and it's built into Windows, so it's interesting.
  • Third, I am not much of a gamer (I have a Xbox for that) but I do run several large 24" to 30" monitors and don't like waiting for my Windows to repaint, so do like a faster video card.

Here's some scores, some results, and some commentary.

Baseline. My Laptop.

This is the WEI my stock Lenovo W500 8Gb with an aftermarket OCZ Vertex 256gig SSD.

My W500 is a 4.6.

Using Visual Studio 2010 and building the trunk of the NerdDinner project (a smallish sized ASP.NET app) is about 3 to 4 seconds. On my new PC, building NerdDinner from scratch happens before I can say "one one-thousand." I could try it from MSBuild and the command line...

Measuring Commands with PowerShell

Here's a better way to measure. Taking Chris Tavares' vsvars32.ps2, changed slightly for Visual Studio 2010 and run under PowerShell x86, I add this to my local machine's Microsoft.PowerShell_profile.ps1. (As well as running "set-executionpolicy unrestricted" as admin. Or set it to whatever you like).

function Get-Batchfile ($file) {
$cmd = "`"$file`" & set"
cmd /c $cmd | Foreach-Object {
$p, $v = $_.split('=')
Set-Item -path env:$p -value $v
}
}

function VsVars32($version = "10.0")
{
$key = "HKLM:SOFTWARE\Microsoft\VisualStudio\" + $version
$VsKey = get-ItemProperty $key
$VsInstallPath = [System.IO.Path]::GetDirectoryName($VsKey.InstallDir)
$VsToolsDir = [System.IO.Path]::GetDirectoryName($VsInstallPath)
$VsToolsDir = [System.IO.Path]::Combine($VsToolsDir, "Tools")
$BatchFile = [System.IO.Path]::Combine($VsToolsDir, "vsvars32.bat")
Get-Batchfile $BatchFile
[System.Console]::Title = "Visual Studio " + $version + " Windows Powershell"
}

Thanks to Chris, now I can type "VsVars32" at any PowerShell prompt and I'm immediately setup with a Visual Studio Command Line environment. Just as an FYI, while MSBuild does report timings, since I'm using PowerShell, I can surround any command with "measure-command" as in.

measure-command { msbuild /t:rebuild .\NerdDinner.sln }

In this case from the command line, NerdDinner takes 1900ms on my laptop and 900ms on my desktop, so this isn't a good test as the app is far too small.

Of course, I can also run msbuild with the /m switch and get parallel builds on multi-core machines. However, since NerdDinner only has two projects, I only get a 10% performance increase. Let's try a more significant project.

The Upfront Conclusion: How about building yesterday's release of NHibernate 3.0 Alpha?

Here's the results, building NHibernate 3.0 Alpha using NHibernate.Everything.sln:

Times are in seconds Lenovo W500 w/ SSD Ultimate PC 1.0 Ultimate PC 2.0
MSBuild /t:rebuild 36.05 35.52 16.12
MSBuild /t:rebuild /m 24.98 25.57 12.53
MSBuild 6.17 6.99 3.11
MSBuild /m 5.91 6.66 2.72

Interesting that last year's laptop is very competitive with the original "Ultimate PC" from 2007 (still a beefy Quad Core) due to the laptop's new SSD.

Still, against the best numbers the new PC is effectively twice as fast or more at everything. Yesterday I was encoding a large HD video for Channel 9 and while the Lenovo took 3 hours, the new Ultimate PC 2.0 took 15 minutes. In some cases, it'll save hours on computationally intensive tasks, I believe. Additionally, for computationally intensive multi-tasking that have caused me to use multiple computers in the past, this machine has handled easily. For example, while I was encoding that video, I was also streaming live 720p HD video over Office Communicator. This takes at least 2 procs working full and slowed my Ultimate PC 1.0 down to the point of uselessness. The aggregate CPU on the new machine never went above 12% while just streaming video.

While I did go overboard on the Video Card, I'm extremely happy with the computer so far. I threw in an NVidia GTX275 I had laying around to run another 22" monitor while the GTX480 is running the 30" and a 24". The GTX480 does run hot. For you, dear reader, a GTX275 or any decent $100 card would do you just fine and you'd save a lot of money.

Here's the final parts list along with some caveats. Remember, building your own PC does come with risks, as you're sometimes putting together different companies parts and things don't always work perfectly. You can get a great 7.x WEI machine for $1000 from just about anyone.

The Parts List

Also, Shay Erlichmen wrote some Google Apps Javascript and put up a LIVE Google Spreadsheet that will scrape NewEgg's site and put up the current total of all the components. Thanks to Shay!

The Build

I built the case over two 4 hour sessions and broadcasted live to 80 of my close internet friends on UStream. A lot of really smart people helped me out on this build and offered a lot of interesting points.

The first day build went bad because of the power supply issue so we got it built, then spent hours thinking it was a motherboard issue. It was the power supply.

After we assembled the machine and before we installed any drivers, here was the first WEI score. The 1.0s happened because the standard VGA driver loaded.

1.0 WEI

After installing the Intel Chipset drivers for the Motherboard and the latest NVidia drivers, we were at 7.8 for video and 7.4 all up with the SSD holding us back.

 7.4 WEI

I moved the SSD to another SATA port as this motherboard has multiple SATA chipsets (Intel, Marvel) and installed the latest drivers. In one case, setting the BIOS to IDE instead of AHCI seemed to stick me at 5.9 for disk.

 5.9 WEI

Once I moved onto the Marvel SATA 3 controller with 6 GB/s I got 7.9 on disk. Interestingly the same drive on the Intel SATA 2 controller gets 7.7. The Marvel gets 310MB/s out of the Crucial SSD while the Intel controller gets 270MB/s.

7.8 WEI 

At this point, running everything stock and air-cooled, I have a nice 7.8 machine. I suspect I won't be able to get the Processor to 7.9 without overclocking to 4Ghz. As it is, the machine is running lovely. I wouldn't mind overclocking but I have decided against water cooling as I'm just too old and I need a machine to work 100% of the time. Pete Brown will be water cooling his, he says, so I'll be following his build. That said, if anyone wants to sit with me and chat about if it's possible to get this machine to 4Ghz using air-cooling, give me a holler. As for the graphics, I don't see how I can get to 7.9 without something drastic.

All in all, a great time was had by all. Thanks so much to everyone who helped and to all the wonderful (and waspish) commenters who made this a better experience.

Related Links:

Obligatory Taskman Screenshot!

12 procs in Taskman

Woohoo!

.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. I am a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web
Tuesday, July 27, 2010 11:54:35 PM UTC
Sweet. Wait til you see the laptop I have arriving this week.
Wednesday, July 28, 2010 12:09:37 AM UTC
As I suspected as lovely as my Crucial C300 is in my 2007 MacBook Pro it's being seriously hampered by the Intel 1.5GB/s controller... I *think* the controller can do 3.0GB/s according to the spec sheets but Apple seems to be poking the slower value into the PCI config at start-up :(

[)amien
Wednesday, July 28, 2010 12:44:31 AM UTC
Might I suggest you try building Rawr? It's quite a large project, and should sort parallel compiling quite well.
Wednesday, July 28, 2010 1:32:03 AM UTC
I think there's a little monkey business going on behind the scenes in calculating the WEI. My WEI is currently 7.9, 7.9, 7.9, 7.9, 6.6. I just upgraded my hard drive to a new Seagate 'hybrid' drive, and that last score went DOWN to 5.9. I MIGHT be able to believe that the new hard drive is a little slower than the year old one it replaced, despite its superior specs all the way around.
But in WHAT Universe does my 1.6GHz Core I7 processor outperform your 3.33GHz Core I7???
Wednesday, July 28, 2010 1:32:33 AM UTC
http://www.ustream.tv/recorded/8374848
First video truncates at 4:37 short first day; this is more of a false start.

http://www.ustream.tv/recorded/8374935
The missing video continues 2 minutes later. (Is not linked to this page)

- a masochist.
Wednesday, July 28, 2010 3:12:28 AM UTC
Good choice of motherboard betting USB 3 and SATA 6 especially with that SSD.

I am suprised about your RAM choice only being 1333Mhz it looks like 1600Mhz memory would have got you the 7.9 although you could have gone higher was this just a cost thing?
Wednesday, July 28, 2010 5:05:51 AM UTC
Did my upgrade back in march, spent about half and came out with a solid 7.4 machine. I'm surprised you didn't go for one of the eyefinity (ATI) cards that supports 6 monitors.
Wednesday, July 28, 2010 6:40:48 AM UTC
What happened to the tongue shot (printscreen)? I thought it was fun to watch you work. And my 40% estimate was bang on ;-), I'm sorry to say. Yes chrissie1 was already taken by another so I had to go with chrissie4100.
Wednesday, July 28, 2010 7:38:19 AM UTC
If the VS solution has many projects in it, the HDD becomes the bottleneck fairly quickly.

http://morten.lyhr.dk/2010/01/optimizing-build-times.html

/Morten Lyhr
Wednesday, July 28, 2010 10:12:45 AM UTC
Hi Scott,

Seriously, where did you get a GTX 480 for $320?, here in the UK the cheapest i can find is £360 ($560)
stewart
Wednesday, July 28, 2010 12:41:48 PM UTC
I don't understand the need for the GIGABYTE GA-X58A-UD9 motherboard. If all you wanted was USB 3 and SATA 6gb/s all the other Gigabyte boards have that as well (UD7, UD5, and even the UD3R). It seems the more expensive boards just provide better stability if you plan to overclock a ton.
Wednesday, July 28, 2010 1:55:25 PM UTC
My Vaio Z11 laptop w/ 128GB SSD manages 20 seconds on your nhibernate benchmark. Not bad considering this thing only weighs $3 and cost > $1000 less than your GOM.
Wednesday, July 28, 2010 1:56:00 PM UTC
Just for clarification, that was the MSBuild /t:rebuild on nhibernate.
Wednesday, July 28, 2010 2:03:52 PM UTC
for air cooling, you might want to consider a peltier device....
Wednesday, July 28, 2010 3:30:47 PM UTC
I would really be interested to see the performance of doing a nearly cost neutral swap of the CPU for a Core i7-960 Bloomfield 3.2GHz ($570) and the SSD for an OCZ Z-Drive R2 P84 OCZSSDPX-ZD2P84256G PCI-E 256GB ($1100). It's a $95 net increase in cost. But I'd be willing to bet you would get a higher WEI. If anyone wants to send me the money, I'll be happy to test the theory. :)
Wednesday, July 28, 2010 5:55:55 PM UTC
@stewart: According to Scott's chart, it's a GTX 470 (not 480) for $360 (not $320) and he got it <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16814134110>from NewEgg</a>.
R. Bemrose
Wednesday, July 28, 2010 5:56:37 PM UTC
Also, I love how the preview showed that link correctly, but it got messed up when I actually posted.
R. Bemrose
Wednesday, July 28, 2010 6:45:55 PM UTC
What about a developer server (home/cloud based) instead and use a laptop to connect to it?
This allows me to use my workhorse from anywhere. My laptop is more silent. Putting the workstation in a closet out of the study leaves more room for billy bookshelves ;)
Wednesday, July 28, 2010 11:12:33 PM UTC
Can you tell us what you are using for the CPU Cooler?
Wednesday, July 28, 2010 11:52:42 PM UTC
A Noctua NDH-14 cooler should get you upto 4GHz on air.
stellarhopper
Friday, July 30, 2010 8:07:17 PM UTC
Scott,

Excellent job on the build - you picked a great set of components! I was wondering if you might be doing another crowdsourced series trying to find the best WEI in a laptop? Rob
Saturday, July 31, 2010 1:43:55 AM UTC
who will help me find out what Peter or Paul's machine would cost? God's machine is pretty hefty on me right now. Any advice would be appreciated.

hrmmm, godsownmachine.com is available.
Saturday, July 31, 2010 6:54:18 PM UTC
Do a raid 0 on some ssd.
Check out these crazy speeds.
That is where the bottleneck is.

http://www.ocztechnologyforum.com/forum/showthread.php?70461-Post-CRYSTAL-DISK-MARK-scores-here&highlight=raid
Andy
Sunday, August 01, 2010 8:15:57 AM UTC
Just reading: http://www.tomshardware.com/reviews/geforce-gtx-460-sli-geforce-gtx-480,2694.html
(Do Two GeForce GTX 460s Beat One GTX 480?). And yes they do so that will give you a 7.9 I think.
Bas Jansen
Sunday, August 01, 2010 3:44:06 PM UTC
I thought for once this was about a developer machine, again it sidetracked to home gaming machines... what about those of us who work on solutions with millions of lines of code, is it too much to ask to get advice, and arguments to convince what is a reasonable amount to invest on a developer machine to work on those big solutions, other from the SSD drive, what processor, motherboard, memory for visual studio, possibly running SQL and IIS and other services, debugging all while having a fast UI. Keeping in mind companies have to buy 10-15 or more of those machines and it's easy go for cheaper solutions when buying in bulk.
Wednesday, August 04, 2010 10:27:54 PM UTC
Your $610 SSD gets you a 7.9, and my $195 SSD (the famous intel 80g2) gets a 7.8. The rest of your machine scores a 7.8, so why spend the extra four hundred ?! Am I missing something, I don't see it being worth that 10th of a point!
Friday, August 06, 2010 6:46:08 PM UTC
Mine is 256 gigs and yours is an anemic 80gigs?
Thursday, August 12, 2010 7:35:44 AM UTC
You've probably learned this in your build research by now but just in case you haven't, 980x at over 5ghz still gives 7.8. 7.9 will take more cores. I have 8 of your ssds (256gb crucial c300) in raid 0. Was a fun build.

The wei has many flaws, the disk subtest is decent but the rest I wouldn't pay much attention to. The memory test is geared towards timings rather than size or clock speed so tightening up your ram a small bit should be plenty to get a 7.9 if you're interested.

You may want to look at Futuremark's PCMark Vantage for what is probably the best multipurpose computing benchmark, heavily weighted to storage performance.

That said as you surely know by now your computer is awesome so congratulations.
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.