View Single Post
  #9 (permalink)  
Old 01-05-2009, 12:52 PM
FormerPalmOS's Avatar
FormerPalmOS
Regular 'Geeker
Offline
Threadstarter
Location: Far far away...
 
Join Date: Nov 2008
Posts: 359
Reputation: 1355
FormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on rep
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Re: Touch Pro / WM6 file system caching and performance discussion

Quote:
Originally Posted by PaulB007 View Post
And what will these key changes do? Will it speed up the device, and will it potentially cause lock ups/other issues?
LockIOBuffers may do nothing - I assume it defaults to 1 but added it just to be sure. If it defaults to zero, this would reduce the chance of a file-system related crash. Since that hasn't happened to me (ever) I therefore assume this is already locked. According to MS, you have to use this when using the file cache filter with disk caching.

Changing the file replication cache size will increase the amount of memory that filesys.exe uses, but with this value, not by much (not more than a few tens of KB). It will speed up file access for all but the first time a file in the cache is accessed.

Changing the DataCacheSize and FatCacheSize keys to zero will allow WM to determine the optimum cache size. In general this will be the smaller of the entire FAT or 512 sectors (if your FAT is more than 512 sectors you have waaaay to many files on your storage card or device). YOu don't want a big data cache - instead you want a big file filter cache. YOu need a bigger page pool to enable that. When the OS needs a file, it first looks for it in the directory - a flash access if not cached. Once it gets the file it gets a pointer to the FAT for that file and reads that - another flash access if not cached. Then it gets the file by sectors in the FAT. Now if the file itself is in the file system filter cache - it just retrieves the file from the file cache with no flash accesses (very fast).

EnableFatCacheWarm just pre-populates the FAT cache at file system start-up (boot) - speeds up first accesses at the expense of longer boot time. No lasting performance impact beyond the first access.

UpdateAccess = 0 disables updating the "last accessed" time stamp in the file system. This prevents an access to the flash every time you touch a file. I believe this is disabled by default because this would be a big performance hit if this was enabled - I didn't see a significant boost from just adding this key which leads me to believe it is disabled by default. So this key probably does nothing.

It's time-consuming to quantify the performance impact from each key alone so I haven't done that, but as a whole, this group of edits definitely makes my device much more responsive, yet still leaves it with plenty of memory, and I have yet to have a crash.

Finally, reducing the number of files in the most commonly used directories will increase performance. Every file in your ROM is stored in \Windows - it's just hidden. Only way to reduce the number of files there is to cook a new ROM with fewer files. But there's a big bang for the buck here.
__________________
ROM: WM6.5 nk.exe (Da_G), sys 23518 (Da_G), VZW OEM pack (scrosler)
Apps: Manila 2.1 (yozgatag), Leo dialer (pyrorob)

Last edited by FormerPalmOS; 03-03-2009 at 12:14 AM.
Reply With Quote
This post has been thanked 2 times.