Originally posted by: BD2003
Originally posted by: Nothinman
a) Not exactly, it's not scavenging for binaries and saying 'hmm I'll cache this one' rather it's based on what gets loaded into the VMM. So like prefetch, the first time you run say BattleField Earth it's going to load completey from the backing store. But the second time you load it parts if not all (depending on cache size etc) can come from the ready boost cache.
But if it's only caching the executable how is that helpful? BFE's executable has got to be less than 1% of it's total data size.
It doesnt just cache the executable. There is SO MUCH confusion over what readyboost does...I'm going to try to break it down simply and clear for everyone.
In the ideal world, you have unlimited ram. This isnt the ideal world, and never will be, and its silly to disregard readyboost on the idea that "you should just have more ram".
XP:
You have just RAM and a HD.
The ram holds your running programs.
Free ram is a super fast disk cache, usually small in size since its basically leftover.
The ram disk cache is essentially consisting of the last files to be accessed, with no thought as to whether they'll actually be useful.
WinXP does it's best to page *out* things it thinks it won't need to free memory, since you havent used them in a while. Its often wrong, forcing you to load them unnecessarily when you DO need them.
If you run out of RAM, the HD is used as VM, and is dog slow for this purpose.
The only things you can do to alleviate the burden is buy more ram, or put your pagefile on a separate HD - that way the head isnt forced to constantly swing back and forth between loading the offending files and paging out unnecessary memory pages to disk.
Vista:
You have RAM, Readyboost flash and a HD.
The ram holds your running programs.
Free ram is a super fast disk cache, usually small in size since its basically leftover.
The ram disk cache is intelligently populated. Vista keeps track of which programs you use, and when you use them, and tries to always keep the cache full of useful stuff. It also does not bother wasting the RAM cache with every little operation, considering that things like a virus scanner can essentially wipe out the useful data if it did.
The flash is a secondary disk cache, huge in comparison to the ram cache, and fast for random reads/writes - so recently/frequently accessed files can be loaded from the faster flash instead of always hitting the disk for everything.
Vista does it's best to page *out* things it thinks it won't need since you havent used them in a while, forcing you to load them unnecessarily when you DO need them. The difference being that it keeps better track of whats useful, and when it does have to load them, it can often come from the faster flash cache.
If you run out of RAM, the HD and flash are simultaneously used as VM, mirroring each other.
When those pages are again necessary, it will come back from either the flash or disk, whichever is faster (usually flash).
And things to note about RB:
If you pull out the usb stick, nothing happens, since it's all backed up.
It's also not a security risk, since it's encrypted.
The pages are compressed on the flash disk - this lowers the amount of data to be transferred, and raises it's capacity, at the cost of a few cpu cycles.
Disks are faster for sequential reads, so if that is what would be faster, it will load it from disk, bypassing the flash, even if the necessary pages are in the cache.
So in essence, the flash is a new, completely optional second layer of cache, that works for normal files, but will probably find more use as a secondary VM cache. To my knowledge, it's also persistent across boots. So booting, loading up stuff that requires random reads/writes, is a good chunk faster. Vista handles memory better than XP in the first place, but in situations where there just isnt enough RAM to go around, there's a second layer of cache there, trying to prevent having to hit the disk if at all possible. There is only one thing that the disk is good for - sequential reads. Ideally, anything that isnt a large sequential read should come from somewhere else, and thats what vista's trying to do. It's trying to keep it in main memory above all else, but if it can't, it'll settle for flash.