Aquí está lo que git config --help
dice:
core.fscache
Habilita el almacenamiento en caché adicional de los datos del sistema de archivos para algunas operaciones.
Git para Windows usa esto para leer en bloque y almacenar en caché los datos lstat de directorios completos (en lugar de hacer lstat archivo por archivo).
En lugar de hacer muchas solicitudes de sistema de archivos, git solo hará una solicitud para obtener información sobre todos los archivos en el directorio.
Se puede encontrar una descripción más técnica en commit que introdujo fscache
:
Win32: agregue un caché debajo de lstat y las implementaciones directas de mingw
Verificar el estado del árbol de trabajo es bastante lento en Windows, debido a la lenta emulación lstat (git llama a lstat una vez para cada archivo en el índice). Las API del sistema operativo Windows parecen ser mucho mejores para escanear el estado de directorios completos que verificar archivos individuales.
Agregue una implementación de lstat que use un caché para los datos de lstat. La memoria caché no lee todo el directorio principal y lo agrega a la memoria caché. Las llamadas lstat posteriores para el mismo directorio se atienden directamente desde la memoria caché.
También implemente opendir / readdir / closedir para que creen y usen listados de directorios en la memoria caché.
El caché no rastrea los cambios en el sistema de archivos y no se conecta a ninguna API de modificación de archivos, por lo que debe habilitarse explícitamente para las funciones de git que no modifican la copia de trabajo.