NTFS tiene esta cosa llamada tabla maestra de archivos . Suena genial cuando lo lees.
Puede ver que ext3 funciona bien hasta aproximadamente el 95% del uso del disco, mientras que la existencia de la MFT significa que NTFS realmente no quiere que use más del 90% de su disco. Pero supongo que ese no es su problema, y que su problema es con las muchas operaciones en muchos archivos pequeños.
Una de las diferencias aquí es lo que sucede cuando crea un archivo pequeño. Si un archivo es más pequeño que un tamaño de bloque, no se escribe en su propio bloque, sino que se almacena en la MFT. Esto es bueno si el archivo permanece exactamente como estaba cuando se creó. Sin embargo, en la práctica, significa que cuando svn toca un archivo para crearlo, luego lo agrega, lo elimina o simplemente lo modifica no lo suficiente como para moverlo a su propio bloque, la operación es bastante lenta. Además, solo leer muchos archivos pequeños pone un poco de estrés en el MFT donde residen todos, con múltiples por bloque. ¿Por qué haría esto? Evita de manera preventiva la fragmentación y usa más bloques de manera más efectiva, y en general eso es algo bueno.
Por el contrario, en ext2 y 3, los bloques de archivos para cada archivo se almacenan al lado de donde están los metadatos del directorio para el directorio en el que están (cuando sea posible, si su disco no está fragmentado y tiene aproximadamente un 20% de espacio libre). Esto significa que a medida que svn está abriendo directorios, varios bloques se almacenan en caché básicamente de forma gratuita en ese caché de 16 MB en su unidad, y luego nuevamente en el caché del núcleo. Esos archivos pueden incluir el archivo .svn y los archivos de revisión para su última actualización. Esto es útil ya que es probable que algunos de los archivos que svn esté analizando a continuación. NTFS no puede hacer esto, aunque grandes partes de la MFT deben almacenarse en caché en el sistema, es posible que no sean las partes que desea a continuación.