ReadyBoost - swap space on a stick.
So, I've finally upgraded my laptop from Windows XP SP2 to Windows Vista.
The upgrade process itself took over three hours - the first fifteen minutes of which was basically me uninstalling the applications that the Vista installation told me would interfere with the upgrade to Windows Vista - they were the Digital Persona application that comes with Microsoft's Fingerprint Reader, Ahead's Nero CD/DVD burning software, and something else that I can't remember right now, and obviously am not going to miss.
One of the neatest features of Vista that I've seen so far is the addition of "ReadyBoost". Microsoft describes it as follows:
"Windows Vista introduces a new concept in adding memory to a system. Windows ReadyBoost lets users use a removable flash memory device, such as a USB thumb drive, to improve system performance without opening the box."
Me, I prefer to think of it (somewhat inaccurately) as "swap space on a stick". In programmer terms, swap space is a portion of your hard drive that is reserved for saving copies of information from memory while it isn't needed. At the expense of a small delay when reading it back in, this allows your machine to appear to have more memory than it really does - program subroutines and user data that you aren't using right now don't have to hang around in memory, so you have more physical memory left for the subroutines and data that you are using right now.
Early implementations swapped any kinds of data into and out of memory - later implementations (and certainly this was true at least by Windows 3.1, back in the early '90s) marked sections of memory as "discardable" - meaning that they could be swapped in from other areas of the disk, rather than having to be stored in the swap space.
ReadyBoost could easily have been implemented as simply an external backing store for this discardable memory - that would make it "swap space on a stick" in a very real sense.
What ReadyBoost actually does is to work with SuperFetch to provide something slightly more - when a program (or other read-only data) is loaded from disk, SuperFetch can often anticipate this demand, and use idle cycles to pull the information up ahead of time - and when it does this, it also copies the read-only data to the ReadyBoost-enabled thumb drive so that it's available quickly after it's been swapped out - far more quickly than from the hard drive inside your machine.
Because this is data that can be rebuilt from the hard drive anyway, it's no loss to your reliability if you unplug the thumb drive - you just slow down a little again, as you go back to the original swap space and memory relationship.
Finally, it's even been built with security in mind. The data stored on the ReadyBoost drive is automatically encrypted with AES-128 encryption (this is an acceptable trade-off of fast versus strong). That way, even if you remove your thumb drive in the middle of working on your system, and you drop it into some malfeasant's lap, he won't be able to read the read-only file you were looking at, or internal details of your code.
And, of course, you can remove the ReadyBoost cache file - it's just an ordinary file - any time that you want to use the USB stick as an ordinary disk.
So, wait for the next office supply store sale, pick up a cheap USB 2.0 storage device, insert it into your Vista PC, accept the prompt to enable it for speeding up your PC, and see how much your performance improves. [In my case, just enough to make it enjoyable.]