Summary: Speeding up Windows 7 (extended for laptops)

Now that I have MATLAB on my laptop, it's time to separate the PCs from the Macs. W7 offers a much improved ReadyBoost option over Vista, but exploiting it to its fullest potential is the difficult part. Here I talk about formatting your flash memory with which file systems, allocation unit sizes; how to get this done without having flash drives sticking out from the side of your laptop permanently; and how generally everything starts faster.


1: File systems and allocation unit sizes Most flash memory comes preformatted to small allocation unit sizes on FAT32. A thing people might not know is that exFAT has faster read-write rates than FAT32 (and FAT16 is faster than exFAT, but suffers from a limitation to the maximum size of the ReadyBoost cache) and allows ReadyBoost caches of >4GB per USB flash drive. What you really want is to reduce the unnecessary reads/latency and increase read-writes. Having larger allocation unit sizes means less blocks to be read (unnecessarily), therefore less latency. Formatting to exFAT/FAT16 speeds up read-writes.

Say you have 3GB of RAM, giving it a 6-7GB cache on a dedicated USB flash drive formatted to exFAT with 32MB blocks is perfect. Or say a weak laptop like mine with 2GB of RAM, giving it a 4-5GB cache is perfect - I'd choose a 4GB cache on flash memory formatted with FAT16.

2: Memory sticks and SD cards Problem's that I don't like USB flash drives sticking out of my laptop. On the other hand, memory sticks/SD card slots are often neglected on a laptop. Using ReadyBoost with a Pro-HG Duo MS/SDHC card is the main part of the trick I have to make Windows 7 faster, and this works conspicuously well on a laptop without anyone noticing, or anything getting in the way.

3: Overall improvements  The improvements are marginal, but so is the cost and weight - these sticks are affordable nowadays, and hardly add any weight to your laptop. Access time is where things shine. It doesn't matter even if you're running a solid state disk like I am on my laptop (averages 34MB/s transfer rates with an ATA133 interface) I noticed about 5s faster start-up times for LyX (8.2s to 3.1s) and 7s for MATLAB  (28.7s to 21.3s) using my SanDisk cruzer Blade, which performed at an 23~25MB/s average transfer rates(can't remember exactly) on the HD Tune benchmark. It seems that opening a file a second, third... time right after rebooting, with or without ReadyBoost, will take the same amount of time: since it's on the RAM already. (2.1s for LyX) Nonetheless, it's clear that ReadyBoost does significantly speed up the startup time for programs on the first time you're opening them after rebooting - something which is very noticeable.

4: Faster boot rates Another thing is, ReadyBoost does actually improve boot times. This is an improvement over Vista, where it didn't do such a thing. My speculation is that the cache is accessed almost immediately as the W7 starting screen shows up, and some time is saved from loading thereafter. But I suspect that having an additional occupied USB port slows the startup, since my limited benchmarks suggested a bit of a slowdown instead. I'd speculate further that I need to give the SuperFetch algorithm some time to work out what to do with the cache, and that things should get faster once I've used the laptop for some time.

SanDisk has memory sticks in the PRO-HG Duo format with 30MB/s read-write for picky photographers. A 4GB stick, formatted with FAT16 and $\geq512KB$ blocks, sounds like what I'm looking for. At least 512KB, since ReadyBoost writes in 512KB units. I am tempted to try 32MB allocation blocks, but are 128 blocks enough for the cache? I should experiment more.

No comments:

Post a Comment