You can place it in your StartUp folder if you want and are willing to live with a 60 second to 5 minute 'grind' of slightly heavier HDD I/O during login; or ideally leave the PC idle and go make a coffee.
Facts about v1.0.0.5 of PreCacher.exe
- The current version caches all files that are 64KB or less as well as most of the MFT which reduces later mechanical I/O significantly.
- This works out to pre-caching about 70% of all the files on a typical C: drive within a space of 680MB to 1024MB. (Yes, that's right: 70% of your files on C: -by quantity- will probably fit within 1GB, so long as it's just the smaller ones).
- I am testing a version that pre-caches all files under 96KB, 128KB, 160KB, 192KB, 224KB, 256KB, etc.
- It does not run in the background. (I may release a Service version that just refires the service every 30 minutes or so down the track).
- It may benefit from being scheduled as a Task run every 15 minutes at most (quad core) to every 60 minutes at most (single core).
- A subsequent run after it has cached should finish in about 1/30th the time (give or take).
- It does not add, delete, create or modify any registry entries (Although the .NET Installation method might add some registry entries just for it).
- It does not change the way that the Windows® 2K/XP/Vista/7/etc. Operating System Disk cache functions in any way, it merely leverages code that Microsoft® have already bundled with the Windows® OS.
- It works on systems with ReadyBoot/ReadyBoost/PreFetching enabled or disabled in any combination.
- Some anti-virus products with real-time scanning
might make the window appear as 'Not Responding', I am currently investigating
one potential case of this.
- Both Cache (Read, not Write Back) and Free memory are in the 'Available Memory' pool in Windows Vista® and Windows 7®, each are immediately available for allocation by running software.
- Loading an application that suddenly allocates all 'Available' memory (both Cached and Free, if any) will negate the performance gain as read-cache data is forced out of the cache as the Windows OS disk cache shrinks to under 128MB in size.
- Re-running after such an event will resolve the above however.
- The data in C:\Windows\Prefetch\. and C:\Windows\Prefetch\ReadyBoost\. (if enabled) will slowly be retrained and the ReadyBoot/ReadyBoost/PreFetch trace ETL 'log' files will likely grow to 20MB which is completely normal. (I mention this as some overzealous System Admins may want to know this in advance; and it
is better to be slightly overzealous about such things IMHO).
That's pretty much everything I can think of for now.
I've updated some doco and added it to the folder on my web-server.
-
http://scottdbowen.id.au/PreCacher/
Enjoy.
PS: If you only have 1GB of RAM let me know as I'm willing to release versions that tune themselves to specific machines. The current version caches all files that are 64KB or less as well as most of the MFT which reduces later mechanical I/O significantly.
I believe that machines with 1GB (or less) of system memory have ReadyBoost disabled --- unless they used to have 2GB and 1GB was removed!