NTFS имеет эту вещь, называемую Master File Table. Это звучит очень круто, когда вы читаете об этом.
Вы можете видеть, что ext3 нормально работает до 95% использования диска, в то время как наличие MFT означает, что NTFS на самом деле не хочет, чтобы вы использовали более 90% вашего диска. Но я предполагаю, что это не ваша проблема, и что ваша проблема связана с множеством операций над множеством маленьких файлов.
Одно из отличий заключается в том, что происходит, когда вы создаете небольшой файл. Если файл меньше размера блока, он не записывается в собственный блок, а сохраняется в MFT. Это хорошо, если файл остается точно таким же, каким он был при создании. Однако на практике это означает, что когда svn касается файла, чтобы создать его, затем добавляет к этому файлу, удаляет из него или просто модифицирует его, когда его недостаточно для перемещения в собственный блок, операция выполняется довольно медленно. Также простое чтение большого количества небольших файлов создает некоторую нагрузку на MFT, где они все находятся, с кратными на блок. Зачем это делать? Это упреждающий отказ от фрагментации и более эффективное использование большего количества блоков, и в целом это хорошо.
В ext2 и 3, напротив, файловые блоки для каждого файла хранятся рядом с тем местом, где находятся метаданные каталога для каталога, в котором они находятся (когда это возможно, если ваш диск нефрагментирован и у вас есть около 20% свободного места). Это означает, что когда svn открывает каталоги, ряд блоков кешируется в основном бесплатно в этом 16-мегабайтном кеше на вашем диске, а затем снова в кеш-памяти ядра. Эти файлы могут включать файл .svn и файлы ревизий для вашего последнего обновления. Это удобно, так как это, вероятно, некоторые из файлов, которые svn просматривает дальше. NTFS не может этого сделать, хотя большие части MFT должны быть кэшированы в системе, они могут не быть теми частями, которые вы захотите затем.