SuperFetch Enhanced Prefetch

Instantaneous application launch

By on 1 Sep 2007, 11:09 GMT
Microsoft has always been blamed for delivering poor quality products. And most of this used to be true. This is not an apology for their products but you have to admit that lately they hit the market with very good coding. Vista (Business, Home Premium and Ultimate editions), Virtual PC 2007, Exchange Server 2007, Office 2007 and IE7 are the only ones that come to my mind right now.

Vista is indeed expensive, but its features are well worth a shot. Many claim that it does not bring a boost of performance and that XP works as fine as Vista but in some respects XP fails to deliver the stability in Microsoft's WOW OS. Premium editions offer bitlocker function to protect your data, backup solutions, enhanced stability, ease of use, faster response, improved Task Manager, stability tools and more, all integrated in an Aero equipped interface.

And to tell you the truth, in about five months since I installed Vista I haven't had the "pleasure" of facing the worldwide known "blue screen of death". The amount of software in and out my computer is well over 500, and at least 70 applications are constantly installed. What is even more interesting is that I benefit from the same performance as ever.

On the surface Vista may not be too much of a step forward (except for the interface), but under the hood there are lots of options designed to improve your work and overall computer experience. Let's take for example Sputerfetch technology. It acts just like XP's Prefetch, but with a small difference: it works better on the long term.

In XP memory management with Prefetch is simple: every time you load up an application a corresponding PF file is created in the Prefetch folder with the direct purpose of making that application load faster at the next launch. One would think that the folder would build up and take a lot of space on the disk drive, but the truth is that Windows will preserve up to 128 prefetches. When this limit is reached the operating system will keep only the 32 most frequently used files and dump all the others.

Although many computer "experts" have blown the clarion on cleaning prefetch folder I must say that given its purpose in the operating system it is illogical and senseless to think that deliberately deleting prefetch files will lead to increased performance. Applying this action will only result in crippling the speed of application load time. And when you think that XP will recreate the Prefetch trace file the next time you launch the program this does seem like a useless effort, does it not? So there is really no use in deleting all the contents of this folder as there will be no optimization at all. On the contrary you wouldn't do yourself a favor at all.

In Vista things are pretty much the same as Prefetch folder is still existent and does the same job, but there is a slight difference: it is called SuperFetch and it is intelligently performant. In short SuperFetch is all about determining what files you need and load them into memory before you even use them. In time SuperFetch turns dynamic, meaning that it will be able to load files into memory according to your computer usage pattern. It actually learns from your actions.

Suppose that every morning, after Windows loads, your habit is to read your emails. SuperFetch has the files for your email client already loaded into memory making email client's deployment faster. Over time SuperFetch will keep your computer at a certain level of performance. In XP the performance of your computer would decrease after a while. That is exactly what SuperFetch avoids. SuperFetch prioritizes the pages into the memory so that application launching turns into a quick, painless process.

But I think the following SuperFetch description from Microsoft will lift all the haze: "SuperFetch monitors which applications you use the most and preloads these into your system memory so they'll be ready when you need them. Windows Vista also runs background programs, like disk defragmenting and Windows Defender, at low priority so that they can do their job but your work always comes first."

So as time goes by your Vista OS will not decrepit and the overall performance of your computer will not decrease. SuperFetch's purpose is to improve application loading time and recording your software usage patterns, loading the necessary files into the memory before you launch them. That explains the large amount of RAM required for the operating system to run at full capacity.

The conclusion is that Vista's SuperFetch is a net benefit for a user as it uses low priority I/O queuing and the HDD abuse is minimum as it uses it when in idle state, not interfering with your work. So you don't have to worry that it'll increase Vista startup time by loading all the apps into RAM at the same time.

If you want to see it at work, it is enough to open Task Manager's Performance page immediately after booting and take a look at Free Memory section. It is rapidly decreasing as data is cached into all available physical memory. Another test you can perform is to run a memory hog software (a memory optimizer will do just fine) and watch how the system reclaims the deallocated memory.

Stopping SuperFetch involves registry editing, but there is nothing complicated. Open HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters in Windows Registry Editor, double click Enable Superfetch and change the value from three to zero. The tweak works just like in the case of Prefetch.

1 Comment