Jump to content
CCleaner Community Forums
Sign in to follow this  

Prefetch folder

Recommended Posts

It bad dont do it slow PC Info > http://www.edbott.com/weblog/archives/000743.html = One more time: do not clean out your Prefetch folder!


http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx = Misinformation and the The Prefetch Flag

http://www.edbott.com/weblog/archives/000024.html = Beware of Bogus XP Advice

http://djlizard.net/2006/06/02/157/ = Old myths never die

http://msdn.microsoft.com/msdnmag/issues/0...el/default.aspx = Prefetch


Subject: Microsoft claims Longhorn will be, er, faster

The only reason why its faster is they added a superfetch feature to the prefetcher. If you look at the key:


HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetcher


you will notice in windows xp


EnablePrefetcher = 3 and you will notice in windows longhorn

EnableSuperfetch = 1


Well, guess what? You can put the EnableSuperfetch = 1 in windows xp and get the same speed.


Wow, Microsoft just added a feature that was already there in xp.


It's 2006, and somehow, people still apparently believe that Windows XP does not allow you to use all of your bandwidth


because of a service called QoS (Quality of Service). This is patently false.


People also think that cleaning the Prefetch folder helps, or that not cleaning it will somehow lower your performance. I


would have thought a site like "windowsnetworking.com" would have been a bit more professional about these things, but I


can't have everything. They said, and I quote (emphasis theirs):This is bull. Let's break it down:

* XP will retain an index of the locations of files needed by a process in the prefetch folder even if you only use it one


time, which is not a big deal. Windows XP automatically prunes old entries after a 129th entry (or more) needs to be created.


At worst, you're going to lose less than 20 MB of hard disk space (my prefetch is currently using 4MB).

* XP systems will very low hardware resources (such as memory and hard disk space) are already at a disadvantage, but without


prefetching, it would be even worse. There is no advantage in deleting prefetch entries.... and the only time prefetch


entries need to change are when the files they are prefetching have changed (such as being upgraded by a Windows Service Pack


or hotfix). And as previously stated, they will automatically be pruned to just 128 entries. At least someone out there knows


what they're talking about. If you delete all of the prefetch files, they have to be prefetched *again* (which comes at a


performance loss), and doesn't that seem like a waste of time?

* Windows doesn't load things in the Prefetch folder unless you're actually attempting to run the program, so claiming that


Windows erroneously loads files in there that no longer exist (and thus need to be cleaned) is also patently false.

* Ed Bott said: It doesn?t actually preload anything into RAM until you run the program, and when you do that, prefetching


only works if you have RAM to spare.


Notes from Microsoft:

* Once every three days, by default, Windows XP will perform a partial defragmentation and adjust the layout of the disk


based upon current use. The files to be moved are written in the file Layout.ini (found in the Prefetch directory under the


System Root directory). [1]

(Dial-a-fix's "Process Idle Tasks" tool forces this to happen sooner than 3 days).

* Windows XP also uses prefetching when launching applications. The files and the contents of the files accessed by each new


process are observed and recorded. No prefetching can be done for the first launch of an application, so first launches are


often considerably slower than subsequent launches. About 85% to 90% of the improvement is realized after just one launch of

an application, with the remaining speed improvement coming after the system has had an opportunity to adjust the disk layout

Anyway, these technical myths are extremely annoying to technicians (such as myself), who constantly have to disprove these


dubious claims to customers.


I timed from power up, starting with the first beep (POST code) to the point where the hourglass cursor disappeared.


With a full Prefetch directory:

? 0:50 to login screen

? 1:08 to desktop


After emptying Prefetch directory:

? 0:58 to login screen

? 1:57 to desktop


In other words, it took me nearly a minute longer to boot after using this ?speedup? tip!


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.



"When a Windows XP-based system is booted, data is saved about all logical disk read operations. On later boots, this


information is used to pre-fetch these files in parallel with other boot operations. During boot and application launch, a


Windows system demands and pages a sizable amount of data in small chunks (4K to 64K), seeking between files, directories,


and metadata. The Logical Prefetcher, which is new for Windows XP, brings much of this data into the system cache with


efficient asynchronous disk I/Os that minimize seeks. During boot, the logical prefetcher finishes most of the disk I/Os that


need to be done for starting the system in parallel to device initialization delays, providing faster boot and logon




Logical prefetching is accomplished by tracing frequently accessed pages in supported scenarios and efficiently bringing them


into memory when the scenario is launched again. When a supported scenario is started, the transition page faults from mapped


files are traced, recording which page of a file is accessed. When the scenario has completed (either the machine has booted


or the application started), the trace is picked up by a user-mode maintenance service, the Task Scheduler. The information


in the trace is used to update or create a prefetch-instructions file that specifies which pages from which files should be


prefetched at the next launch.


The user-mode service determines which pages to prefetch by looking at how successful prefetching has been for that scenario


in the past, and which pages were accessed in the last several launches of the scenario. When the scenario is run again, the


kernel opens the prefetch instructions file and asynchronously queues paging I/O for all of the frequently accessed pages.


The actual disk I/Os are sorted by the disk drivers to go up the disk once to load all pages that are not already in memory.


This minimizes seeks, cuts down on disk time, and increases performance. The kernel also prefetches the file system metadata


for the scenario, for example, MFT entries and directory files. Because prefetching is useful only when the required data is


not in memory, the applications that are launched frequently are not traced and prefetched each time." - Source


Prefetching Facts

1. Prefetching is enabled by default in Windows XP.

2. Prefetching is configured optimally by default.

3. Prefetching will significantly improve application load times.

4. The Prefetch (.pf) files are not a cache, they are reference files.

5. The Prefetch (.pf) files do not preload/cache anything upon Windows startup that does not normally load at startup.

6. Only one Prefetch (.pf) file is referenced during startup = NTOSBOOT-B00DFAAD.PF

7. Only one Prefetch (.pf) file is created per application.

8. The Prefetch (.pf) files including the Layout.ini and NTOSBOOT-B00DFAAD.PF files are automatically updated.

9. The Prefetch folder is auto cleaned after 128 entries have been reached down to the 32 most used applications.

10. Notebooks running on battery power will not execute idle tasks and thus cannot further optimize or remove prefetch files.


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!



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.



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.

so read & dont do it OK :blink::blink:

Share this post

Link to post
Share on other sites

After countless arguments in the past about prefetch we are not going to start them off again with the above post.


Mastertech (Andrew) and info by him causes arguments.


Also Hotdog3 what you posted is old.


Next time, post a link to something instead of pasting it and using a full page up.


Thread closed

Share this post

Link to post
Share on other sites
This topic is now closed to further replies.
Sign in to follow this  

  • Create New...