CCleaner Cripples Application Load Times

Pretty sure this han’t been posted here yet.
http://www.populartechnology.net/

Recently CCleaner has added an internet urban legend as a cleaning option, [b]"Old Prefetch Data". Cleaning the Prefetch folder is an internet Myth[/b] 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." 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.
[url=http://www.edbott.com/weblog/archives/000743.html]SOURCE[/url] I don't know that I agree that cleaning Prefetch Folder once a month is wrong ??? In fact on this very Forum I've read that It's not a bad thing. I do it ! What's your opinions Evangelist's ?

Hello Abraxas,

Started by UncleRob:

http://techrepublic.com.com/5208-11183-0.html?forumID=5&threadID=178204&messageID=1813903

Continued… Very nice article Ed Bott:

http://techrepublic.com.com/5208-11183-0.html?forumID=5&threadID=178204&start=0

As Ed Bott has frequently written: Do not clean out your Prefetch folder!

http://www.edbott.com/weblog/archives/000743.html

Here is an excerpt from Ryan Myers, a developer on Microsoft’s Windows Client Performance Team:

XP systems have a Prefetch directory underneath the windows root directory, full of .pf files – these are lists of pages to load. The file names are generated from hashing the EXE to load – whenever you load the EXE, we hash, see if there’s a matching (exename)-(hash).pf file in the prefetch directory, and if so we load those pages. (If it doesn’t exist, we track what pages it loads, create that file, and pick a handful of them to save to it.) So, first off, it is a bad idea to periodically clean out that folder as some tech sites suggest. For one thing, XP will just re-create that data anyways; secondly, it trims the files anyways if there’s ever more than 128 of them so that it doesn’t needlessly consume space. So not only is deleting the directory totally unnecessary, but you’re also putting a temporary dent in your PC’s performance.

http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx

Date: 07/20/05

It looks after all that cleaning of prefetch folder doesn’t do any good and/or significant increase in system performance… better to listen to developers of our OS.

Cheers !

better to listen to developers of our OS.
I can't sop laughing. Reminds me of a msg I sometimes get "Put the cd in the floppy drive" Yes that is what the devellopers try to make me do! I reported this to MS while I was still using 98 first edition, in ALL windows versions released after that, MS still haven't corrected it. So should we listen to the devellopers or should they listen to people who really have knowledge about system......

I also was able to do things that MS said was impossible with Windows…
Makes you really think heh…

  1. get a stopwatch

  2. boot your system and messure teh time it takes

  3. move the prefetch files to another folder

  4. repeat steps 1 & 2

  5. does it make a difference?
    Answer: no it doesn’t

  6. get a stopwatch

  7. open applications that have a prefetch file and messure the time

  8. move the prefetch files to another folder

  9. reboot (to release the memory, needed for a reliable comparison)

  10. repeat steps 1 & 2

  11. does it make a difference?
    Answer: no it doesn’t

Conclusion:
Prefetch files only take up space on the drive and do not contribute anything to better system performance.

Haha, now you make me laugh my ass off… have you read this:

So, first off, it is a bad idea to periodically clean out that folder as some tech sites suggest. [b]For one thing, XP will just re-create that data anyways;[/b] secondly, [b]it trims the files anyways if there's ever more than 128 of them so that it doesn't needlessly consume space[/b]. So not only is deleting the directory totally unnecessary, but you're also putting a temporary dent in your PC's performance.

Haha Eddy read what Sasha wrote!

As far I could know, Prefetch really has a very little impact over performance.
The problem is that ‘every single’ exe file is prefetched and the folder has a lot of files that won’t be even checked anymore.
Cleaning it from time to time could get back the sanity in your HDD. Don’t do it that often, it will be useless like Sasha said.
By the way, there are tweaks to fully disable prefetching… Is anybody interested?

Mark Russinovich Wrote Prefetching is a good thing, leave it alone. In addition well written disk defrag utilities such as Raxco’s Perfect Disk use the [b]layout.ini[/b] information for its optimizations.

Windows defrag also uses this file

Unbelievable wonderful !

Mark Russinovich… SysInternals… I believe he knows his business, and he knows it very well :wink: Who to trust if not him ? :wink: :wink:

Just read the links about prefetching Sasha gave you these are from guys that know what they’re talking about!

http://www.edbott.com/weblog/archives/000743.html

http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx

I certainly believe him more than Eddy who has just proven he hasn’t got a clue about what his talking about :-\

It is NOT necessary nor is it a good idea to clear the prefetch files. Just pointless thing to do without any real gain.

I am sure after all this, guy who is developing ccleaner may have second thoughts… maybe he will remove Clean old prefetch data from next update… or not ?

If I didn’t trust Mark Russinovich, then why would I have so many of his utilities. ??? ???
Sorry Eddy this time I have to go with the majority opinion. I still thing that your HiLoA program is topps. :slight_smile:

CCleaner is only a tool: you don’t have to tick all the boxes. Much of the information we have the option to delete may in fact be useful to the OS or application that saves it. The internet cache speeds up browsing, and its size is limited anyway. names of last files opened in Word may be useful to record.

Some of the information is only a privacy risk. Most programs limit the size of caches. I think the real junk problem is Windows which can be over-cautious about temp files and allow them to build up.

Some viruses can also live in some of these locations so it’s useful to have a tool like CCleaner to clean them out: internet cache, Java cache and temp folders. I think there was a thread where somebody mentioned a virus hiding in the Prefetch folder. In a case like that CCleaner could be used to clean out the folder.

I’ve had the prefetch box ticked for a while in CCleaner and haven’t noticed any slowdown. Reading the above I have unticked it. I don’t think CCleaner can be criticized for having the option to clean prefetch files, but it doesn’t seem to make any sense to routinely remove them.

I won’t say so…
Every single executable generates a prefetch file: the temporary ones, the setup files, the windows updates, etc. etc.
It’s useless to keep old prefetch files, old versions never run again.
You don’t have to clean them frequently but I will not say never.
The same with VRDB: you should generate them to have a database for virus recovery but not that often or you will only store infected stuffs.

The virtue is in the middle: no fanatisms and no paranoids 8)

I disabled the prefetch function while ago and noticed nothing since then. I did it in my way to disable as many unnecessary processes that as possible and probably I was right - except that I didn’t need to disable the function in the first place, either. At least, I don’t need to see prefetch data files in my search for recent modified files anymore. :wink:

I had prefetch disable for a long time also and no real boot or launching issues. I now use prefetch but I only monitor boot time programs now. It is slightly quicker but noting to get excited about.

However, if you have it on monitor boot and programs it can have an adverse effect if you delete the contents of the prefetch including the Layout.ini as that takes time (3 boots I believe) to be recreated and get a history.

The reason the slowdown is noticeable is because the prefetch was working and doing its job, right up until you deleted it. It won’t take long before it starts to decrease boot and launch times again.

Hmm, seems every one has varying opinion’s on this subject.

  1. I saw this CCleaner / prefetch issue listed as “news” @ castle cops and followed the links, out of curiosity.
  2. I first saw instructions as to how to clean the Prefetch folder manually here at the Avast! forum not so long ago and just took it as ’ good house keeping '.
    Thanks for all the reference links, every one.
  3. I’ve emptied the PF folder maybe once over the last three months, with the idea that I am deleting useless obsolete .EXE files trying to be launched at BootTime. Active non-obsolete programs/applications will rebuild entries into the prefetch directory anyhow it seems, which is the so called bootTime “slowdown”, or so I presume.
    4. I’ve watched the CCleaner results after ticking the "Clear OLD prefetch files ", and haven’t as yet seen anything listed as deleted from the PreFetch directory since it was introduced.
  4. If in fact over the period of say a few months clearing the PF directory ‘does clear useless’ .EXE files from being asked to initiate , I’d think it as a good thing .
  5. Seems to be user’s choice as to whether or not you clear the folder in question. I think I’ll wait and see when CCleaner actually does remove files from the PF directory , and which ones. Then the parameters of files deemed as being old will be more apparent and I may learn something.
    I think CCleaner is taking a bit of unnecessary flack over this issue personally as I haven’t seen it over-doing Prefetch directory cleaning at all.

This is from the on-line FAQ for CCleaner and what it cleans in the Prefetch Folder.

[b]Old Prefetch Data[/b] In Windows XP a Prefetch file is generated each time an application is run. This helps Windows optimise the application the next time it is executed. Unfortunately these files are not deleted when the applications are removed. This option removes these files for programs that haven't been accessed in 14 days. (This process is very safe and Windows will recreate the files as necessary.)

So, according to this it is unlikely to delete the Layout.ini file because that is effectively in use daily. So yes it would appear if this is correct CCleaner it getting a bit of bad Press as it isn’t deleting the entire contents of the Prefetch folder.

To understand the problem you need to read the whole article from Popular Technology:

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!

See this is a miconception:

I've emptied the PF folder maybe once over the last three months, with the idea that I am deleting useless obsolete .EXE files trying to be launched at BootTime
That is NOT how prefetching works.

Here is a better explanation:

By default Windows XP only (not 2000 ect...) will monitor the boot process and an applications startup process. After three boots or three application loads it creates a .pf file. This file is merely a reference to all the files that the boot process or an individual application uses to load. Normally Windows will load these files in a less efficient way. Say DLL A before B and then maybe D or C. With prefetching enabled (it is by default) When you click on an icon to launch an application Windows will first look in the prefetch folder, if a .pf file exists it will now have the location of every file that specific application uses to start and will load them all at once, example: DLL A+B+C+D simultaneously. Look at the .pf file in a text editor and you will see it is just a list of file locations. Now the prefetcher goes further and use the Defragmenter to take all those files and "lay them out" on the disk in the same location. This further improves the application load times.

.pf files are only accessed when you launch the application and take up next to no space, then obsolete ones are cleared when the folder reaches 128 entries. Even with all 128 entrie it only takes up less the 5MB. The article also provides a way to test it:

Testing Make sure the Task Scheduler service is set to automatic. Launch an application like Firefox three times. Reboot and make sure there is a FIREFOX.EXE-XXXXXXXX.pf file in the C:\WINDOWS\Prefetch folder. If there is, launch Firefox and time it. Then delete the .pf file, reboot, relaunch Firefox and time it again. You will now see Firefox take a significantly longer time to load. Now imagine this on any other application, then imagine doing this deliberately every two weeks? Why? To save a tiny bit of HD space? It makes no sense. 128 .pf files take up maybe 5 MB of disk space.