There are a bunch smart ideas in Vista, and Readyboost seems to be a favorite with a lot of people: extend memory by using USB “key” / “Stick” “Thumb drive” (what are we meant to call these things). Of course since it can be pulled out at any time it can’t be used like normal RAM, and it works as a disk cache (hand in glove with “Superfetch“)
Put Vista Readyboost into a search engine, an entry on Tom Archer’s blog will be pretty near the top. Tom has a FAQ sheet with answers from Matt Ayers (the “feature owner” for Readyboost), and the very first question is
Q. What perf do you need on your device?
A: 2.5MB/sec throughput for 4K random reads and 1.75MB/sec throughput for 512K random writes
It’s a great article, but it doesn’t say HOW you measure it. Vista has a command-line “System Assessment Tool” called WINSAT. It gives access to the same performance and user experience data that you see in control Panel – but it’s not the greatest tool when it comes to being self explanatory. People like Daniel have done a better job explaining how to call the API than we’ve done of publishing information on the command line tool: the best I’ve found was posted here during the Beta one stage of Vista. The commands to run for disk benchmarking to see if a device meets the Readyboost test are:
winsat disk –read –ran –ransize 4096 –drive D
winsat disk –write –ran –ransize 524288 –drive D
Substitute D for the letter of your drive without the colon; the second command takes several minutes to run, the first only a few seconds. You can specify -IOCount xx to reduce the number of operations to xx and speed up the process. The default seems to be about 4000 in the release build of Vista. You can test sequential as well as random writes using by substituting seq and seqsize for ran and ransize.
One very dull evening over the holiday period I did a rough and ready comparison of a few of my memory devices and readers, using the Readyboost tests and sequential tests with the same sizes. It’s dangerous to extrapolate from an arbitrary test like this – I’m not quoting my numbers because the time to do a 4K sequential read or 512K sequential write doesn’t tell me how long it will take to do something in the real world, like save or transfer pictures. It’s doubly dangerous for me to do it as it becomes “someone from Microsoft said”, so with the caveats that this isn’t a rigorous test and your mileage will vary, I have drawn a few conclusions:
- The most efficient way I have to read a Compact Flash card is my Lexar Cardbus CF adapter. CF-PCMCIA adapters are widely available and cheap (they’re just socket adapters) but they are slow and crushingly CPU intensive. Cardbus adapters don’t have these problems but are harder to track down. The CF card from my camera in the Lexar adapter (with its XP driver) gives more then twice the speed ready boost requires. However …
- Combining an SD–>CF adapter with the Cardbus adapter Halves the speed of an SD card compared with using my Toshiba laptop’s built-in SD socket. My SD cards in that were faster than I could get with my CF cards however …
- On these tests, my Dane Elec 133x SD card is slower at writes, but faster at reads, compared with my “My memory” Mini-SD + adapter combination. Writes matter a lot for camera use.
- The “USB key” style SD card reader I bought from eBay turns in the worst performance of any of my USB 2 devices. The Kingston Data traveler elite I was given in the summer is the best. My Portable hard drive/card reader combo turns in respectable times (SD faster than CF), with the new camera a little slower (but more than 5 times faster than the old one), so living without the Cardbus adapter or built in SD support would be OK.
There’s a pretty clear message here for laptop users. If you have an unused SD slot put a 1GB card in it, configure it all for ready boost and forget it. It will cost about £10 + VAT, for a noticeable performance improvement.