Superfetch, Prefetch, and Windows Performance

Last week, the Inquirer posted a letter in response to an article they wrote about Microsoft's claims that the next version of Windows (codenamed Longhorn, officially named Vista - at least for now) would have better performance than Windows XP. The letter, written by "snakeye" (a sketchy nickname, I know), claimed that Longhorn's (er, I mean Vista's) performance-enhancement came from a feature called "superfetching," which enhances the prefetching technology already in place in Windows XP.

What is prefetching? If you are using Windows XP, go to your Windows folder. There, you will find a folder entitled "Prefetch," which will contain several files with names similar to programs you run on your computer and ending in the ".pf" extension. Prefetching "fetches" parts of applications you often use and stores them in the Prefetch folder so that they will run faster. While several websites claim that deleting this Prefetch folder will increase Windows XP performance; this is patently untrue, as Windows manages the folder itself, removing the prefetch files for applications that have not been used recently.

While snakeye's alias and writing style do not exactly inspire confidence, it is clear that the Superfetch technology is important to Vista's performance. This French PDF explains it succinctly:

Pour accélérer le processus d'initialisation, Longhorn utilise Superfetch : tout simplement la mise en cache intelligente sur disque des fichiers souvent utilisés.

English translation: "To accelerate the process of initialization, Longhorn uses Superfetch - simply the use of an intelligent cache on the hard drive of the most used files." Sounds a lot like prefetching, right?

Despite the veracity of Superfetch being included in Vista, I would still advise against enabling Superfetch in Windows XP. If Microsoft disabled superfetching in Windows XP, I think it is reasonable to surmise that they did so for a reason. No operating system developer (especially not at Microsoft, where OS stability sometimes leaves something to be desired) would purposedly make their operating system slower.

Of course, this train of thought assumes that Superfetch was included in Windows XP to begin with. If it was only added to Windows XP during the development of Service Pack 2, it is possible that Microsoft decided not to enable it in order to increase sales of the future version of Windows, Vista. While Microsoft is business-savvy, I would like to think that they would not be so devious. Hopefully, Robert Scoble or some other Microsoft insider will weigh in.

UPDATE: Windows guru Ed Bott (who I linked to above about not deleting the Prefetch folder) dispels the Superfetch myth. It's a good thing I added his feed to my aggregator.

Comments

At 4:52 on August 19, 2006, Mazyar wrote:

Hello,

I saw your comments about PF files and since I had a problem with those, I'd appreciate your help.

One of my softwares do not work, because the date of the computer was one month ahead. For fixing that I need to change the date of the future-dated files; I was successful to do so by a software, but it doesnt work for about 50 PF files and each time an "access denied" window pops up.Do you have any idea how I can "access" them to change their date?

Thanks in advance, M. Amin

At 5:06 on August 19, 2006, Martey wrote:

This is more a problem with file access in Windows XP rather than Prefetch in particular. If the Prefetch files are being used by the computer, you are not going to be able to modify them while Windows is running. Per my entry, I would just leave these files alone - I do not which of your applications you are having problems with, but I doubt that the fact that some of the files in the Prefetch folders have dates in the future should affect it.