Registry cleaners do nothing to help a machine. The damage they cause may not even show up right away. Then you buy a new piece of hardware and discover that it won't install because some "cleaner" removed all the entries. And because of the way the registry works, removing things from it does not improve access speed one iota.
Cleaning "junk" files is another thing that should be done with caution. Many files that programs like Ccleaner remove are very useful at times. For example, most backups, including that of the BCD registry, use the bak file ending. If there is a problem booting, it's easy to replace it unless it has been deleted. Contrary to popular belief, the number of files on the hard drive has nothing at all to do with how well or fast the system runs.
In case someone has not already seen it:
It is true that errors in your registry can cause all sorts of problems. But what cleaners find are not "errors" at all. They define them as "errors" and then either fix them by deleting them, or make repairs that are almost always incorrect. They then see the incorrect entries as correct, and have thus actually introduced 100's of new, real errors into the registry that were not there before.
Any registry error, when it actually exists, needs to be fixed surgically, not with a shotgun.
http://forums.techguy.org/6657814-post1.html
http://forums.techguy.org/all-other-software/605058-regcure-ruined-my-computer.html
http://www.edbott.com/weblog/?p=643
http://forums.techguy.org/all-other-software/785344-hubby-wants-buy-regcure-any.html
http://forums.techguy.org/all-other-software/708851-registry-cleaner.html
http://forums.techguy.org/all-other-software/716128-solved-reg-cleaner.html
http://forums.techguy.org/windows-vista/735414-vista-desktop-file-lost.html
Even if registry cleaners actually worked and did what they are supposed to safely, what would be the net gain?
I have over 800,000 entries in my registry. So let's say 1 million as a good approximation. So if we also assume that the "speed" of the registry is an inverse relationship, in other words, if it were half as large, it would be twice as fast, how much would this cleaner actually speed things up?
If it found 5,000 "errors" (they aren't really errors, but let's assume they are since the cleaners do), then the increase in the speed of the registry would be 5000/1000000, or 0.005, or 1/2%. So in other words, by running a registry cleaner and removing 5000 entries (which is more than most find) and risking serious damage to your installation and programs, you have succeeded in increasing the speed by 1/2 of 1% (if it were even true in the first place that registry access speed is dependent on size in this way, which it isn't).
Does that seem worth it to you?
Registry "defraggers" ("compactors") may actually improve your registry access speed, however. These tools do not hack out possibly needed entries like "cleaners" do. They simply rebuild the registry, leaving out blank space and reducing the size. Auslogics may be one of the best since it does the compaction offline on the next machine boot. Some others do, too.
Free registry defragmenters (compressors):
NTREGOPT -
http://www.larshederer.homepage.t-online.de/erunt/
RegCompact.NET -
http://www.aplusfreeware.com/categories/LFWV/RegCompact.html
WinASO RegDefrag -
http://www.winaso.com/
Free Registry Defrag -
http://www.registry-clean.net/free-registry-defrag.htm
You can benchmark your registry access speed to compare it at different times, or after a "defrag" ("compaction") to see if any real improvement in access speed occurred. The output of
regbench HKLM -auto looks like this:
Benchmarking registry root:
HKEY_LOCAL_MACHINE [HKLM] hKey: 0x80000002
/
== Keys in hive : 359169
== Enumeration time : 135625 ms (135.63 secs)
== Total accesses : 100000
== Total access time : 8609
== Time per access : 0.086090 ms
== Keys per second : 11615.75
== Total bytes read : 10000046
== Time to read all : 10157 ms
== Time per byte : 0.001010 ms per byte
== Bytes per second : 990099.00