Not long ago I wrote an article for TechTarget (link forthcoming) about whether or not you need ECC memory in a desktop machine. The short answer is "it depends" -- if you're simply running a web browser and checking email once a day, ECC will be wasted on you. If you're a programmer, a graphic designer, or someone who needs a system that's a cut above the usual desktop beige-box, then yes. (I've insisted on ECC memory for my last two computers and will probably continue to do so, but I'm paranoid about my PC. Not everyone needs to be.)
This brought to mind a number of other questions: When something goes wrong in Windows, how can we tell whether it's really Windows's fault or something else? I've kept this question in front of me for some time now, and a chance discovery of an entry in the Old New Thing blog gave me a great deal to chew on:
[...] Moral of the story: There's a lot of overclocking out there, and it makes Windows look bad.
I wonder if it'd be possible to detect overclocking from software and put up a warning in the crash dialog, "It appears that your computer is overclocked. This may cause random crashes. Try running the CPU at its rated speed to improve stability." But it takes only one false positive to get people saying, "Oh, there goes Microsoft blaming other people for its buggy software again."
This is, sadly, from what I can tell, a pretty endemic problem with Windows. Try to tighten things up and people yell at you -- e.g., Symantec snarking out Microsoft for trying to make Vista secure, thereby forcing them to write a slightly more useful security product. Let other people do their thing and people yell at you again. If I had the time, I'd seriously consider writing a book entitled Why Microsoft Can't Win.
As far as overclocking goes, it's one of those things that I have never been able to fathom except as a kind of extreme fetishism that can never really be wholly satisfied. I've had parallel experiences with Windows in general, where I would try every single one of those Registry-hack / turn-services-off / defrag-with-clever-file-placement-strategy tweaks to get that boost of speed that always seemed to be around the corner. And in the end, I always wound up falling back on a stock Windows configuration that has, with each successive release of Windows, become that much more self-tuning.
This isn't to say there are no strategies that you can use to make Windows run faster. It's just that what they consist of tend to be very unsexy and unremarkable, and often involve dealing with hardware bottlenecks (more memory, bigger hard drive) by spending money. That and the more I rely on my computer as a work device, the less I care about some theoretical 5-10% speedup (which is scarcely measurable anyway), and the more I care about having a system that is reliable. The biggest reliability problem I had with Vista was the buggy ATI video driver, since replaced, which made dealing with RC1 and RC2 so problematic; since then I haven't had a single system-level issue that caused me to lose work.
Many of the speedups that I see come from Microsoft figuring out how to optimize the way Windows handles certain resources. The patch for Outlook that I talked about the other day, for instance, seems to be in that vein. But if you're still looking for the magic Registry tweak that will make everything run twice as fast, take the time you're spending doing all that tweaking and put it back into something productive. That probably goes for overclocking as well -- although I'm guessing those who are determined to overclock their systems will do so regardless of what anyone else tells them. (But the idea that a PC would come overclocked out of the box without me knowing about it gives me the willies for sure.)

Leave a comment