У NTFS ця річ називається таблицею головного файлу . Це дуже здорово звучить, коли ти читаєш про це.
Ви можете бачити, що ext3 працює добре приблизно до 95% використання диска, тоді як існування MFT означає, що NTFS насправді не хоче, щоб ви використовували більше 90% свого диска. Але я припускаю, що це не ваша проблема, а в тому, що ваша проблема полягає в безлічі операцій над багатьма невеликими файлами.
Однією з відмінностей тут є те, що відбувається, коли ви створюєте невеликий файл. Якщо файл менший за розмір блоку, він не записується у власний блок, а зберігається у MFT. Це добре, якщо файл залишається точно таким, яким він був при створенні. На практиці це означає, що коли svn торкається файлу, щоб створити його, а потім додає до цього файлу, видаляє з нього або просто модифікує його недостатньо для переміщення його до власного блоку, операція відбувається досить повільно. Також просто читання безлічі невеликих файлів створює певний наголос на MFT, де всі вони перебувають, з кратними розмірами на блок. Навіщо це робити? Це превентивно уникати фрагментації та використовувати більшу частину блоків ефективніше, і взагалі це добре.
У ext2 і 3, навпаки, блоки файлів для кожного файлу зберігаються поруч, де метадані каталогів для каталогу, в якому вони перебувають (коли можливо, якщо ваш диск нефрагментований і у вас близько 20% вільного місця). Це означає, що, коли svn відкриває каталоги, кілька блоків отримують кешування в основному безкоштовно в тому кеш-пам'яті 16 Мб на вашому диску, а потім знову в кеші ядра. Ці файли можуть включати .svn файл та файли ревізії останнього оновлення. Це зручно, оскільки, ймовірно, деякі з файлів svn переглядають наступний. NTFS цього не робить, хоча великі частини MFT повинні бути кешовані в системі, вони можуть бути не частинами, які ви хочете далі.