Sign in with
Sign up | Sign in

Conventional Windows Caching

Windows Vista's SuperFetch and ReadyBoost Analyzed
By

Typically, PCs have between 512 MB and 2 GB of main memory today. Windows automatically allocates some space on the hard drive to swap main memory data when required. The file size of this so-called swap file typically is around 1.5 GB or larger. This ensures that all applications can be executed even if the PC has only little RAM, but if you compare the performance numbers of RAM and the swap file on the hard drive you will realize that swapping has a huge negative impact on performance of your memory subsystem.

You might be aware that all Windows operating systems have a built-in caching mechanism. It is not very sophisticated and basically keeps application data in the main memory after program termination. This results in noticeably shorter application launch times in case the user decides to restart the program she or he has just terminated. But Windows caching has its limits, as all cached data will be lost when you shut down the PC. Launching other applications will also flush all cached information to make the main memory available to the active programs.

Windows caching is efficient if you work with a limited number of applications on a regular basis. If you e.g. open and close Microsoft Office several times per day, it will launch much quicker as you start it the second time. However, launching other applications might flush the cached data. Also, Windows 95/98/2000/XP isn't intelligent enough to restore cached data if you shut down and restart your machine. After a reboot, the main memory will remain in a so-called cold state. Even if you have 2 or 4 GB of main memory, this available resource will not be used unless an executed application requests memory.

SuperFetch, The Über-Cache

SuperFetch does more than caching. Windows Vista runs a SuperFetch service that analyzes your application behavior and usage patterns, meaning that it tracks which applications you request the most. A good example would be your activity as you start the PC in the morning: You launch Outlook to fetch email, a messenger, a web browser and probably additional applications such as a development environment. If you do this repeatedly and ideally in the same order, SuperFetch will recognize this and then proactively populate these applications into all available main memory the next time you start the PC. You should only wait for a few minutes before you commence work to give the SuperFetch service the time to "superfetch" your applications.

The result is simple and impressive: As you return from your coffee run and launch your applications, they are available much quicker, as they already populate your main memory. Similar to conventional Windows caching, SuperFetch will not touch its cached data unless there is an application that requires main memory space. Windows will not prioritize the SuperFetch feature over memory requests by applications, as this would cause the memory management to swap data onto the swap file, which of course would slow down the whole system considerably.

Simply spoke, SuperFetch tries to relocate application data from the slow hard drive into all available memory. It utilizes the available capacity to create a so-called warm memory state for the single purpose of making applications available almost instantaneously. However, SuperFetch needs a certain amount of main memory. At only 512 MB RAM size, the feature won't be very efficient, as Windows plus 2-3 applications will already eat up the total memory capacity. There won't be main memory space left to pre-cache application data. If you don't work with multiple applications at a time, 1 GB should be enough to see a positive impact of SuperFetch when compared to Windows XP. However, we experienced the best results at a main memory capacity of 2 GB - more won't hurt either.

Many installed PCs are technically capable of running Windows Vista properly, but they might only have 512 MB or 1 GB of memory. Microsoft came up with a way to expand the RAM capacity without having to install more physical DRAM.

React To This Article