CCleaner Cripples Application Load Times?

Discussion in 'other software & services' started by TimaN, Oct 3, 2005.

Thread Status:
Not open for further replies.
  1. TimaN

    TimaN Registered Member

    Joined:
    Aug 22, 2005
    Posts:
    125
    Location:
    Tulsa, OK
    I found this article here and thought to post it here:


    "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.

    Prefetching
    "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 performance.
    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 improve application load times by up to 100%.
    4. The Prefetch (.pf) files are not a cache
    5. The Prefetch (.pf) files do not preload/cache anything upon Windows Startup.
    6. One Prefetch (.pf) files is created per application after it has been launched three times.
    7. The Layout.ini file is auto updated to remove or add entries.
    8. The Prefetch folder is auto cleaned after 128 entries have been reached.

    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!

    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.

    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."

    What do you all think?
     
  2. ronjor

    ronjor Global Moderator

    Joined:
    Jul 21, 2003
    Posts:
    57,728
    Location:
    Texas
    I agree. Don't clean the prefetch folder.
     
  3. TimaN

    TimaN Registered Member

    Joined:
    Aug 22, 2005
    Posts:
    125
    Location:
    Tulsa, OK
    By default that option is enabled and I think most people don't uncheck that box because it says "Old prefetch data".
     
  4. ronjor

    ronjor Global Moderator

    Joined:
    Jul 21, 2003
    Posts:
    57,728
    Location:
    Texas
  5. idunno

    idunno Guest

    are applications that are uninstalled automatically deleted in the prefetch?
     
  6. TimaN

    TimaN Registered Member

    Joined:
    Aug 22, 2005
    Posts:
    125
    Location:
    Tulsa, OK
    No, I did not even try because I'm not registered on their forum
     
  7. idunno

    idunno Guest

  8. chew

    chew Registered Member

    Joined:
    Jun 29, 2004
    Posts:
    515
    Location:
    GeordieLand.
    I have just unchecked the Old Prefetch Data to see how it affects my system.

    Even with Old Prefetch Data checked I don't think my system slow that badly.

    But again my pc is not that fast ...

    :)
     
  9. idunno

    idunno Guest

    ..........
     
  10. chew

    chew Registered Member

    Joined:
    Jun 29, 2004
    Posts:
    515
    Location:
    GeordieLand.
    D'oh! I just re-checked the Old Prefetch Data again ... I can bear with few second slower as I prefer a clean system or perhaps I need a new pc.

    :D
     
  11. TimaN

    TimaN Registered Member

    Joined:
    Aug 22, 2005
    Posts:
    125
    Location:
    Tulsa, OK
    So I guess, it's either way; you may have prefetch on/off and get different results on your machines. I personally can't see the noticable difference anyway.
     
  12. ronjor

    ronjor Global Moderator

    Joined:
    Jul 21, 2003
    Posts:
    57,728
    Location:
    Texas
Loading...
Thread Status:
Not open for further replies.