What is Windows Prefetch?

Prefetch is a feature, introduced in Windows XP, that stores specific data about the applications you run in order to help them start faster. Prefetch is an algorithm that helps anticipate cache misses (times when Windows requests data that isn’t stored in the disk cache), and stores that data on the hard disk for easy retrieval.

This data is located in \Windows\Prefetch, and, as the theory goes, periodically clearing out the data in this folder (say, once a month) will improve performance.  Prefetch files are files with a “PF” extension inside the Prefetch directory:


As new applications are subsequently started, new prefetch data will be created, which may mean slightly reduced performance at first. But with older entries gone, there will be less data to parse, and Windows should be able to locate the data it needs more quickly. Any performance gains you may see will be minor (if you see any at all), but those users wishing to squeeze every last CPU cycle out of their computers will want to try this one.

Note that deleting Prefetch data may increase boot time slightly, but only the next time you boot Windows. Each subsequent boot should proceed normally, since the prefetch data will already be present for the programs Windows loads when it boots.

The Prefetcher’s configuration is stored in the windows Registry at

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.

The EnablePrefetcher value can set to be one of the following:

  • 0 = Disabled
  • 1 = Application launch prefetching enabled
  • 2 = Boot prefetching enabled
  • 3 = Applaunch and Boot enabled (Optimal and Default)

It is a known myth to change the default value to anything other than 3 to speed up performance. If you notice a performance issue caused by an “optimizer” software that changed this registry value to non-3, bring back the original value to 3.

Ben Carigtan shows you how it’s done!

Comments [2]

  1. Hi,

    Since upgrading to an i7 processor (but never before) I have been having BIG problems with things not working properly on the computer. Programs only partially working, clock going slow, mouse double clicking when I only click once, and many other niggly things.

    I have to keep rebooting to make things work and a message keeps coming up that GT watch is not responding, so I close that and it comes up again and again. I then have to crash out the computer.

    I have traced this back to Windows Prefetch. Can't remember seeing it in here before the upgrade to i7.

    I'll keep looking for a solution. I gave the registry a checkout as you suggested above. The value is set to 3 {0x00000003 (3)}.

  2. You really don't have to delete the files. Windows does this automatically after several weeks of inactivity.

    If you do delete the files, do not delete layout.ini otherwise you will screw up prefetch. It will take a command to restore it, which I have forgotten now.

Leave a Reply

Your email address will not be published. Required fields are marked *