My netbook it only came with 1GB of RAM, so I decided to see what effect the option to “Speed up my system using Windows ReadyBoost†would make (presented by Windows Vista and later when inserting removable media – more details can be found over on the Kodyaz Development Resources site).
First of all I tried a 1GB USB key that I’d been given with some presentation materials on it but Windows told me the device was not fast enough to use for ReadyBoost.
That was something of a surprise to me – I knew that not all devices were suitable for ReadyBoost but how could I tell why my device was failing? In his article, Is your flash drive is fast enough for ReadyBoost?, Ed Bott explains that:
“If you get a failure message when you first insert a flash device and try to use it as a ReadyBoost drive, you can click Test Again to get a second hearing. If the drive fails several tests, you can look up the specific performance results for yourself. Open Event Viewer (Eventvwr.msc) and click the Applications And Services Logs category in the console tree on the left. Under this heading, click Microsoft, Windows, and ReadyBoost. Under this latter heading, select Operational. The log entries in the center pane include performance test results for both successful and unsuccessful attempts.â€
Sure enough, checking the logs on my Windows 7 system showed messages like:
Source: ReadyBoost
EventID: 1008
Description: The device (UT163 USB Flash Disk) will not be used for a ReadyBoost cache because it does not exhibit uniform performance across the device. Size of fast region: 0 MB.
and:
Source: ReadyBoost
EventID: 1004
Description: The device (UT163 USB Flash Disk) will not be used for a ReadyBoost cache because it has insufficient write performance: 173 KB/sec.
173KB per second is about 10% of the required speed for ReadyBoost so I tried again, this time using a 1GB SD card.
First I saw an event to indicate that the card exhibited the necessary performance characteristics:
Source: ReadyBoost
EventID: 1000
Description: The device (Generic- Multi-Card) is suitable for a ReadyBoost cache. The recommended cache size is 991232 KB. The random read speed is 3311 KB/sec. The random write speed is 3500 KB/sec.
and then a second event recording the creation of the cache:
Source: ReadyBoost
EventID: 1010
Description: A ReadyBoost cache was successfully created on the device (Generic- Multi-Card) of size 966 MB.
So, after creating the cache, did ReadyBoost actually make a difference? It’s difficult to say – on a relatively low-powered PC (the one I used only has an Intel Atom 1.6GHz) performance is not blindingly fast and, as the USB ports (including internal ones used for devices like media card readers) rely on the main CPU for IO processing, it could be argued that use of USB attached memory would even compound the issue when the PC is running out of steam. Those with faster PCs, or faster memory devices may see a difference.
Long Zheng has a good summary in his article which puts forward the notion that ReadyBoost works but that it’s not a miracle:
“I don’t agree with […] how ReadyBoost has been marketed and perceived by the public. ReadyBoost does not improve performance, it only improves responsiveness. It won’t make your system or [applications] run any faster, but it will make things faster to load and initialize to a working-state.
If you’re on a budget, then ReadyBoost is premium accessory that is definitely not value-for-money. You’re literally paying a price to slice milliseconds off loading times. But if you’re a professional or heavy business user, then ReadyBoost might be a cheaper, easier or the only alternative to upgrading memory.â€
Long suggests that ReadyBoost is not value for money. I’d add that it may be if, like me, you have a lot of small USB keys that are doing nothing more than gathering dust on a shelf. It’s probably not worth investing money in new hardware especially to use ReadyBoost though. Indeed, one of Long’s readers (Tomer Chachamu) makes a distinction which is extremely important to consider:
“I am using [ReadyBoost] for several weeks now and I can confirm your experiences, that it helps a lot to improve the responsivness [sic.] of the system.
So it helps to make the whole system perform faster. So isn’t it the same?
High responsiveness: the system ‘feels fast’ and you don’t have to wait for something to load when you’re about to go to a command. (Example of high responsiveness: when you logon, you immediately want to go to the start menu and launch something. The time from logon to launch is a busy wait for you.) – this is affected by readyboost [sic].
High speed: the system performs computational (or I/O) tasks fast. (Example: you are ripping a massive library of CDs. It takes about 10 minutes. If it took less time, say by offloading floating point calculations to the GPU, then that would be high speed. It’s still longer than half a minute so the system is fast, but not responsive. When you’re encoding the CDs, you can do other useful activities, so it’s a non-busy wait.) – this is not affected by readyboost [sic].â€
ReadyBoost is not about high speed – it’s about responsiveness (which explains why PC World were unimpressed when they tested some ReadyBoost-capable USB flash drives on Windows Vista).
In the end, I decided to buy some more RAM but, for those considering using ReadyBoost, it’s worth checking out Tom Archer’s ReadyBoost FAQ.