Jump to content
CCleaner Community Forums

Something I found


thEnd

Recommended Posts

CCleaner Cripples Application Load Times

 

Author: Andrew

 

Recently CCleaner has added an internet urban legend as a cleaning option, "Old Prefetch Data". Cleaning the Prefetch folder is an internet Myth that simply will not die due to the gross ignorance of many people in regards to how Windows XP Prefetching works. These same people generally recommend other bogus advice such as disabling Windows Prefetching completely and adding /Prefetch:1 to desktop shortcuts.

"Bottom line: You will NOT improve Windows performance by cleaning out the Prefetch folder. You will, in fact, degrade Windows performance by cleaning out the Prefetch folder." - Source

CCleaner for the most part is a good application, it quickly and easily removes temporary and unused files from Windows. It has a nice interface that clearly shows what has been "cleaned". On neglected systems this can free hundreds of Megabytes of harddisk space. Apparently in the authors quest to clean everything and anything, he blindly ignored how Prefetching works.

What CCleaner does

CCleaner deletes any Prefetch file older then two weeks based on the .pf file's last access date. This is completely idiotic for a number of reasons. First you should never delete a .pf for any installed application. With the .pf file missing, that application will take up to 100% more time to load when you decide to launch it. CCleaner does this to any application you have installed on your computer but have not used in over two weeks. It makes absolutely no sense to delete these files. Why would you deliberately want to slow down any installed application's load time? It will also do this if you have not used you computer for two weeks. Second, it is quite common to disable the NTFS Last Access Time Stamp for performance reasons. I actually recommend doing this since it speeds up the file system. In this case CCleaner will delete any .pf file that was created over two weeks ago. You can clearly see how running CCleaner in this case would wind up deleting ALL your Prefetch files every two weeks. Now you are crippling every application's load time on your system instead of just the ones you have not used in two weeks. Ridiculous!

Conclusion

Do not clean the prefetch folder! If you use CCleaner uncheck the "Old Prefetch Data" option. Finally let the makers of CCleaner know they need to remove this option from CCleaner. For more information read:

Link to post
Share on other sites
  • Moderators

MrG the CCleaner author has already given a statement about CCleaner and the cleaning of the Prefetch folder. Therefore those who keep complaining about it, and those who keep quoting the same person over and over need to give up.

 

To stop the bickering, and complaining about the Prefetch "issue" paranoid users can open CCleaner and simple uncheck Old Prefetch Data.

Link to post
Share on other sites

This is probably a dumb question but ...

 

Do you have a Prefetch folder and is Prefetcher enabled?

 

I noticed that CCleaner only seems to offer you Applications it detects. Does it check for Windows components before offering the option?

Link to post
Share on other sites
  • Moderators

If CCleaner isn't offering the cleaning of Old Prefetch Data I assume it means it can't find this key:

Detect=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout

 

To rebuild the key if it's missing:

 

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]"LayoutFilePath"="C:\\WINDOWS\\Prefetch\\Layout.ini"

 

Link to post
Share on other sites
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]

"LayoutFilePath"="C:\\WINDOWS\\Prefetch\\Layout.ini"

 

 

 

 

I don't have the above file, so, what do I do now, copy the above code into notepad and save as a .reg file?

 

If so, what do I name it?

Link to post
Share on other sites
  • Moderators

I had disabled the Task Scheduler on my previous factory install of WinXP and noticed that Prefetch stopped working, however I had to not only re-enable the Task Scheduler I also had to rebuild the registry entry for Layout.ini.

---

Edit 1:

Forgot to mention, also to get Prefetch to working again I had to do this:

1. Start->Run:

%windir%\system32\Rundll32.exe advapi32.dll,ProcessIdleTasks

2. Restart Windows

3. Defrag hard disk

 

Note: No prompts will show for "%windir%\system32\Rundll32.exe advapi32.dll,ProcessIdleTasks" however the hard disk light will become active. It optimizes an already existing Prefetch data Layout.ini file. It can also rebuild/create a missing Layout.ini file.

---

Edit 2:

To answer your question CaPMan about the registry file I posted a few posts above. Save it as a .reg file, such as Enable_XP_Prefetch.reg.

 

You'd only need it if re-enabling the Task Scheduler doesn't re-enable Prefetch. However in most cases the .reg file isn't needed at all, however in my situation I had to use it because a registry cleaning program (don't remember which one) had already removed the Layout.ini reference from the registry.

Link to post
Share on other sites
  • Moderators
On my 2.4GHZ ASUSTeK Computer INC. P4S8X-MX Rev 1.xx system with a 80MB 7200RPM hard drive I do not notice any time difference in loading applications without the prefetch entry or with it.  :D

 

 

 

 

Thats because it dosent make a differance. Mastertech is a looser with no life and he needed something to argure with people about so he chose this. Everyone else is ignoring him so we should too. :lol:

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...