Metadatacahe

I'm using in my application CallbackFileSystem eval version.
From the documentation I can see that this is used to reduce the number of calls for OnGetFileInfo callback.
From my tests I cannot see any performance difference when meta cache is enabled or disabled. The number of calls for OnGetFileInfo callback is the same.
There is a way to determine if the cache is working or not?

CBFS when the meta-data cache is used saves meta information (file times, size, attributes) about number of the last opened files/directories that are currently already closed. So when some of these files/directories is being opened again CBFS doesn't call the OnGetFileInfo callback but uses the meta information from the cache.
Could you please describe more detailed how to get the behavior you see?
Thanks.

The application is opening a WebDav server root folder that contains 3 folders in an explorer drive.
Then if I go in a child folder and then back to the root the number of calls of OnGetFileInfo callback is the same.
The second time I go back to root folder should not be called OnGetFileInfo callback, right?
Also if I disable(this.fileSystem.MetaDataCacheEnabled = false;) or enable the metadatacache the speed is the same.
the application is ok but is slow and I'm trying to improve the speed performance. any suggestions?

G_olimpia.farcas@gmail.com wrote:
The application is opening a WebDav server root folder that contains 3 folders in an explorer drive.

Does your application create a CBFS disk which "maps"/"mirrors" the WebDav server's root folder? And then you browse the CBFS virtual disk contents that causes the OnGetFileInfo callback calls?
If so then in the case MetaDataCacheEnabled is true the number of the OnGetFileInfo callbacks should be less.

Quote

G_olimpia.farcas@gmail.com wrote:
any suggestions?

It would be nice if we could reproduce it. Could you try it with the Mapper sample? Maybe it is even possible to reproduce in the simpler "environment" (i.e. without WebDav server).

Some program tries to open/enter these directories. You can find what a program performs it by the use of Process Monitor from sysinternals.com. Set there one or more filters to minimize file I/O logs.

In CBFS there is the NonexistentFilesCacheEnabled property. You can set it to true and the number of such calls should decrease significantly.