Here is what git config --help
says:
core.fscache
Enable additional caching of file system data for some operations.
Git for Windows uses this to bulk-read and cache lstat data of entire directories (instead of doing lstat file by file).
Instead of doing many file-system requests git will do only one request to get information about all files in directory.
More technical description can be found in commit that introduced fscache
:
Win32: add a cache below mingw's lstat and dirent implementations
Checking the work tree status is quite slow on Windows, due to slow lstat
emulation (git calls lstat once for each file in the index). Windows
operating system APIs seem to be much better at scanning the status
of entire directories than checking single files.
Add an lstat implementation that uses a cache for lstat data. Cache misses
read the entire parent directory and add it to the cache. Subsequent lstat
calls for the same directory are served directly from the cache.
Also implement opendir / readdir / closedir so that they create and use
directory listings in the cache.
The cache doesn't track file system changes and doesn't plug into any
modifying file APIs, so it has to be explicitly enabled for git functions
that don't modify the working copy.