Several readers sent me a link to a piece by ExtremeTech's Loyd Case asking me what I thought of the problems he was having with his system:
On the mornings I don't head into the ExtremeTech office in San Francisco, I head downstairs to the basement lab, hit the power button on my PC and monitor, then head back upstairs for shower and breakfast. Usually, my system is powered up and ready to roll when I head back down. It's a pretty speedy setup, too: Intel Core 2 Quad Q9650, 6GB DDR3-1333 and a pair of 7200RPM, 1TB hard drives.
I could, of course, just fire up Vista 64-bit system when I come down to work. But that would mean waiting. Waiting. Waiting for as long a fifteen minutes.
Sheesh! Fifteen minutes! I have a similar system to that which boots up Vista 64-bit in under 30 seconds once I get past the POST. So, what's wrong with this PC? Case offers some insight:
First, I've installed and uninstalled a crapload of stuff. Although Vista is better than XP at managing all the registry hives, things have grown. Right now, my \windows\system32\config folder is 501 megabytes—roughly twice as large as when I first installed the OS.
Ahhh, bit rot, or more specifically, software rot or code rot. This is a subject that I and TalkBack users have touched on many a time in this blog, but I don't think I've ever written about it before in any detail. Time to rectify that.
Is the rot real?
Is code rot real? Some people I've spoken to just simply don't believe that code rot is real and that the idea that a PC gets slower over time is nothing more than an illusion, perhaps as a result of getting used to the speed of the PC or just using it as an excuse to buy a new PC. My take on things is that code rot is indeed real and that a system that was once working fine can be rendered almost unusable in a matter of months or a year. In fact, I'm certain that this factor actually encourages people to trash their old systems and go out and buy new ones.
What causes the rot?
It's important to note that this rot isn't the result of some spontaneous action that occurs to a system. The causes of code rot are in fact pretty mundane:
Loading too much software on a system The more software you load onto a system, the more the system has to cope with. Well behaved software shouldn't really have that much of an effect on a PC, but a lot of the software out there isn't well behaved. In fact, software seems to be far more aggressive nowadays than it was say 5 years ago in competing for face-time - firing up when Windows start up, installing itself into the system tray, and generally being a nuisance. And while software is good at installing itself on your system, a lot of it is very poor at uninstalling itself, leaving behind a lot of detritus both in the file system and the registry.
Loading duplicate software How many search toolbars, IM apps, email clients and media players do you really need? Ideally it should just be the one. Same goes for security products such as firewall software and antivirus.
Free/trial/beta software Just because something's free doesn't mean you really need it on your system! Same goes for software that came free with your system.
Old, outdated or incorrect drivers Yep, a big problem.
Installing new drivers without uninstalling the old ones ATI and NVIDIA, I'm looking at you!
Malware and spyware While malware is can slow down a system, it's not at the top of my list because as a rule it's not the cause of the problem. That said, it's a good idea to scan an ailing system for any nasties that might have found their way into your digital kingdom.
What's the best way to prevent code rot?
Don't do (or at least keep to a minimum) the things I outlined above.
How do you reverse the effects of code rot?
Sometimes. Uninstalling some of the accumulated junk helps, but this can only go so far (thanks to the fact that many programs don't do a good job of uninstalling themselves cleanly).
Case offers this advice:
I could, of course, spend days with a registry cleaner app, carefully checking out the services that load and paring all that down. But when things get to this point, it's usually time to just nuke it from orbit. It's the only way to be sure.
While I question the benefit that registry cleaners can have on system performance, I do agree that any fix that doesn't involve nuking the system can take a long time and there are no guarantees of success.
A good trick if you don't want to reload everything from scratch is to make an image of your system while it's still running fine and go back to that when things have shifted to tortoise mode.
Are other operating systems affected by code rot?
I'm not sure. I have years of experience with Windows. I've had my Mac mini for over a year now and installed quite a bit of stuff on it and yet it feels as fresh as it did on day one. I've got machines running Linux distros too that still feel fresh. I'm tempted to say that code rot is more noticeable on the Windows platform, but without a lot more investigation, I can't say for sure.