Help - Search - Members
Full Version: Prefetch option should be removed
Piriform Forums > Piriform Software > CCleaner Discussion > CCleaner Bug Reporting
Mastertech
I noticed CCleaner has an option to clean "Old Prefetch data". This is completely unnecessary and should be removed. Since cleaning the Prefetch folder actually hurts application load times. Windows will simply waste time recreating the Prefetch file after it is deleted the next time that application is launched. The reason? Because the file is SUPPOSED to be there. Once it is created it will improve load times and allow the defragmenter to optimize files necessary for the launch of that application.

Windows Prefetching is NOT a cache. So cleaning it is irrelevant.

I ran a test and it deleted all sorts of files I use everyday. dry.gif Not good.
Grzegorz
I agree. I notice Windows XP removes unused Prefetch entries from time to time (about each 2 weeks).

The similar thing is with MUI Cache. Windows cleans from time to time.
Mastertech
Right and it will not delete PF files from applications you actually use like CCleaner does. Cleaning it hurts application load time and boot time performance. Any performance gains are placebo.

Here is a link explaining it in more detail:

http://www.edbott.com/weblog/archives/000743.html
rridgely
If you dont want it to be cleaned than uncheck it. Some people want CCleaner to clean up as much as possible.
jobartley515
I am one who likes CCleaner to clean as much possible and I believe that there should be an option to either clean old prefetch data or all of it.

For now I use custom folders to empty %Windir%\Prefetch however this option would be nice.
Mastertech
No you don't understand Cleaning this folder HURTS performance. Windows will automatically clean it but based on uninstalled applications. This is a performance hurting setting since CCleaner targets used applications.

You don't understand how it works that is why you think it needs to be cleaned.
Tarun
Oh no, you'll lose a couple nanoseconds. Big deal.
Mastertech
How much time you loose can vary by the application. But this also effects boot time performance. Regardless cleaning the Prefetch folder manually has only one effect Reduced peformance. It does NOTHING to impove performance and reclaims next to no disk space since the PF files are so small. Not to mention Windows will simply recreate the PF files the next time you launch an applicaiton as it should.

There is NO reason to clean this folder once you understand how Prefetching works.
Tarun
The whole prefetch thing is a crock. It does nothing. Even if you gain two nanoseconds it won't matter. My prefetch folder has been empty for months, I see no point in using it. With or without prefetch there is no real change in application launch time. It's just what people talk about and try to make you believe.
Mastertech
Prefetching works exactly like it says it does. After three application launches or reboots Windows will create a PF file for the application or boot item. This file is used to optimally load the application into RAM on application startup and to let the Disk Defragmenter optimize the files layout on the disk.

Of course your system will work fine without it. But you can't say it doesn't do anything because the performance increase varies depending on the application and your current system state. It is something that requires some time to take effect (3 application launches and disk defragmenter being run).
Tarun
But the load speed is no real change. Who can honestly notice a few nanoseconds difference? Everything loads just as fast without Prefetch as it does with it. The recent blogs about prefetch actually working are just hype to try to get people to believe it works.
jobartley515
QUOTE(Mastertech @ Sep 3 2005, 07:00 PM)
No you don't understand Cleaning this folder HURTS performance. Windows will automatically clean it but based on uninstalled applications. This is a performance hurting setting since CCleaner targets used applications.

You don't understand how it works that is why you think it needs to be cleaned.
*


You don't understand I don't care...
Tarun
QUOTE(jobartley515 @ Sep 3 2005, 11:11 PM)
You don't understand I don't care...
*

Same here. So far he seems to be the only one.
Mastertech
First off those aren't recent blogs. Windows Prefetching hasn't changed since day one. And no it is not just nanoseconds it can be much, much greater then that. Shaving a few second off an application load or Windows boot is worth it. And since it does nothing but improve performance, disabling it or cleaning the folder is foolish.

There is alot of misinformation floating around the internet, how prefetching works is one of them. But hey if you want to reduce your system performance feel free. None of this changes the fact that this should not be in CCleaner.

Cleaning the Prefetch folder has the same negative effect on performance that using Memory Optimizers does.
rridgely
Mastertech I'm not saying your wrong but you are being unreasonable. To say that you want a feature taken out when others use/like it is not fair. If you dont want people to use it than tell the ones on your site to uncheck that box. If mr.g took that out for the next version I gurantee you someone will come and ask that he put it back in.
jobartley515
QUOTE(Mastertech @ Sep 4 2005, 12:12 AM)
First off those aren't recent blogs. Windows Prefetching hasn't changed since day one. And no it is not just nanoseconds it can be much, much greater then that. Shaving a few second off an application load or Windows boot is worth it. And since it does nothing but improve performance, disabling it or cleaning the folder is foolish.

There is alot of misinformation floating around the internet, how prefetching works is one of them. But hey if you want to reduce your system performance feel free. None of this changes the fact that this should not be in CCleaner.

Cleaning the Prefetch folder has the same negative effect on performance that using Memory Optimizers does.
*


Well sorry to tell you but when I clean my prefetch it doesn't seem to reduce performance any on my end....and like I said before I don't really care.
Mastertech
QUOTE
Mastertech I'm not saying your wrong but you are being unreasonable. To say that you want a feature taken out when others use/like it is not fair. If you dont want people to use it than tell the ones on your site to uncheck that box. If mr.g took that out for the next version I gurantee you someone will come and ask that he put it back in.
It shouldn't be there. Should Mr. G include every other useless tweak in CCleaner too? It has nothing to do with what people want. If people don't understand how something works they will request more useless features. Cleaning the prefetch folder is a myth, useless and reduces performance.

QUOTE
Well sorry to tell you but when I clean my prefetch it doesn't seem to reduce performance any on my end....and like I said before I don't really care.
You probably have prefetching disabled for all I know. None of which changes how prefetching works.

If you think I am wrong, link to me the Microsoft Knowledgebase article or White paper that says otherwise.
jobartley515
QUOTE(Mastertech @ Sep 4 2005, 12:41 AM)
It shouldn't be there. Should Mr. G include every other useless tweak in CCleaner too? It has nothing to do with what people want. If people don't understand how something works they will request more useless features. Cleaning the prefetch folder is a myth, useless and reduces performance.

You probably have prefetching disabled for all I know. None of which changes how prefetching works.

If you think I am wrong, link to me the Microsoft Knowledgebase article or White paper that says otherwise.
*


Well your wrong, I do have it checked and I also have custom folders to empty out all the prefetch so you can't tell me that it reduces performance because if it did...I should know!
rridgely
QUOTE(Mastertech @ Sep 4 2005, 12:41 AM)
If you think I am wrong, link to me the Microsoft Knowledgebase article or White paper that says otherwise.
*


Please link to the microsoft knowledgebase article that says you are right.
Mastertech
Proof

QUOTE
Well your wrong, I do have it checked and I also have custom folders to empty out all the prefetch so you can't tell me that it reduces performance because if it did...I should know!
Know what? I don't even know if you have it enabled properly to begin with. We are usually talking in seconds here but it can be more depending on your system state and the application. There are many factors to this and if you don't understand how it works then you will continue to believe cleaning out the folder does something.

What do you think cleaning out the folder actually does BTW?
rridgely
My question for you is this. CCleaner is only getting rid of "old" prefetch data. So by getting rid of the old data could that make windows write the more recent data faster? If so than could that improve performance by seconds? Which might be why your pc feels like its running faster for a couple of minutes after using CCleaner.
Mastertech
The prefetcher only affects application load times and windows boot times. It will analize the applications launch and create the .PF file based on this information. If you look in the Prefetch folder you will see a .PF file for every application you launch. Subsequent launches reference this file and optimize the loading of the files the application needs to startup. When you delete the .PF file. Windows does not have this reference and has to launch the application less optimally the first time after deleting the file. Windows will then recreate the .PF file for subsequent application launches which will have the .PF file as a reference and the launch will be optimal again. This will be further improved after the Defragmenter is run and lays out the files in an even more optimal order.

No data is stored in the Prefetch folder. The .PF files are index or database files. It is also not a cache.

Think of it this way. You start Application A. Normally it loads A.dll then B.dll then C.dll in that order to start. The prefetcher determines it would be faster to load B.dll and C.dll at the same time before A.dll. This is what information is in the .PF file.
jobartley515
QUOTE(rridgely @ Sep 4 2005, 01:21 AM)
My question for you is this. CCleaner is only getting rid of "old" prefetch data. So by getting rid of the old data could that make windows write the more recent data faster? If so than could that improve performance by seconds? Which might be why your pc feels like its running faster for a couple of minutes after using CCleaner.
*


I agree. Why do you need old prefetch files when you haven't used them for a while("Old"!!!! Prefetch Data) that CCleaner can easily clean off your computer.

"""Old""" Prefetch Data Cleaning is a great option for CCleaner to have....,(if I haven't been running a program for a while.....WHY!!! would I want a file to be floating around on my HD when it is not "needed"

& Plus i don't care if my programs go a few nanoseconds slower, when I can have a clean hard drive.

I agree that they may not be cache but why not have the choice to delete them if you want to?

Applications do go faster with the prefetch files there, but CCleaner cleans only "OLD" Prefetch Data which you do not need if you haven't been using an application for some time.

(And besides its your own choice whether you want to delete them or not!!!)
gunner
Mastertech: Obviously it was put there to give you something to occupy your time. Tomorrow we should discuss the relative merits of: 1. close all tags 2. close all open tags (if in fact they are completely open} 3. tag. you're it. 4. What is a tag, and is it your friend? 5. Are tags prefetched? What a dilemma.
Normandie
I just did a small UNOFFICAL test on my computer.

1. I left "prefetch" checked and ran the anyalze and got my ---- mb to be deleted.
2. Closed then reopened CCleaner
3. Then I unchecked "prefetch" and ran the anyalze and got ---- mb to be deleted.

Guess what folks, the numbers to be deleted were the same! laugh.gif

Then I did numbes 1 & 3 without closing CCleaner and guess what folks the numbers were the same.

Maybe my computer is different, but I don't see that there is so much difference to cause this much argument.

I know I will get flamed for this but then that will give you something else to argue about. rolleyes.gif

Have a good nanosecond day, wink.gif
Normandie
rridgely
And we will leave it at that. I'm done arguing over something so stupid.
Mastertech
QUOTE
I agree. Why do you need old prefetch files when you haven't used them for a while("Old"!!!! Prefetch Data) that CCleaner can easily clean off your computer.
It is NOT DATA. They are index files!

QUOTE
"""Old""" Prefetch Data Cleaning is a great option for CCleaner to have....,(if I haven't been running a program for a while.....WHY!!! would I want a file to be floating around on my HD when it is not "needed"
Incase you START it!!! Windows will automatically remove ununistalled applications from the prefetch folder over time. CCleaner removes INSTALLED applications. It appears to just do some sort of date checking on the file, which is idiotic. It cleaned Avant Browser, Trillian and Thunderbird .PF files which are used every day on my computer.

QUOTE
& Plus i don't care if my programs go a few nanoseconds slower, when I can have a clean hard drive.
It is more like seconds, which add up.

QUOTE
I agree that they may not be cache but why not have the choice to delete them if you want to?
Nothing is CACHED Period. None of the files in the prefetch folder are loaded or CACHED!!!! They are used as references to load other files.

QUOTE
Applications do go faster with the prefetch files there, but CCleaner cleans only "OLD" Prefetch Data which you do not need if you haven't been using an application for some time.
No it does not, I have tested this on multiple computers, it should never delete a .PF file from an installed application.

QUOTE
(And besides its your own choice whether you want to delete them or not!!!)
Why would you WANT to HURT performance?
Mastertech
QUOTE
Mastertech: Obviously it was put there to give you something to occupy your time. Tomorrow we should discuss the relative merits of: 1. close all tags 2. close all open tags (if in fact they are completely open} 3. tag. you're it. 4. What is a tag, and is it your friend? 5. Are tags prefetched? What a dilemma.
No offense but try to understand how prefetching works.
Mastertech
QUOTE
I just did a small UNOFFICAL test on my computer.

1. I left "prefetch" checked and ran the anyalze and got my ---- mb to be deleted.
2. Closed then reopened CCleaner
3. Then I unchecked "prefetch" and ran the anyalze and got ---- mb to be deleted.

Guess what folks, the numbers to be deleted were the same! 

Then I did numbes 1 & 3 without closing CCleaner and guess what folks the numbers were the same.

Maybe my computer is different, but I don't see that there is so much difference to cause this much argument.

I know I will get flamed for this but then that will give you something else to argue about. 

Have a good nanosecond day, 
Normandie
What does this have to do with mb deleted? Do you understand anything I have been saying?
Mastertech
Ok I would like everyone who disagrees with me to explain to ME how prefetching works. This is the problem. You apparently do not understand how it works. We need to get this resolved so we can move on.
rridgely
We all know how prefetching works. If you dont like this feature than uncheck it and send a PM to Mr.G. I'm sure he can tell you why he has included this feature better than we can.
Mastertech
If you all really understood it then no one would be arguing with me. I'm serious I would like someone to explain to me how they "think" prefetching works. This will resolve the issue as I can show you what is misunderstood.
jobartley515
Like I said its the users choice!

And It only deletes Prefetch Data(I'm getting "DATA" from CCleaner) older than 14 days(if you have a problem with the way this works...contact the administrator)
Mastertech
Just because CCleaner labels it "data" does not mean it is. Again please explain to me how Prefetching works. The fact that CCleaner labels it "Data" is clearly why it was incorrectly included as an option. NOTHING in the prefetch folder is Data. They are merely index files, one per application and boot items. Check this for yourself. You will see a file name per application you launch not various "Data" files.

BTW it is the users choice to disable your CPU's cache in the BIOS too.
jobartley515
Just stop arguing with us and take it up with the administrator.
rridgely
Nothing is misunderstood and no one here has to explain anything to you. We have already established that we are debating over a few seconds. This is a feature that was put into CCleaner by the programer. Neither you nor I can change that. If you would like I recommend you contact Mr.G and tell him what you think. He may or may not take your advice, and thats his decision.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.