Изначально Unix был разработан для выполнения операций файловой системы в памяти и для обновления блоков диска только каждые 30 секунд во время sync
. Это привело к гораздо более быстрому взаимодействию с пользователем, чем MSDOS много лет назад, который обращался к дисковым блокам непосредственно для каждой операции файловой системы. Но сегодня, используя Windows 7, я все еще вижу, что копирование большого количества маленьких файлов занимает гораздо больше времени, чем копирование одного большого файла того же размера.
Например: каталог публикации веб-проекта Visual Studio C # Asp содержит 2000 файлов, всего 150 МБ, в сжатом виде (7Zip) 90 МБ.
- Скопируйте весь каталог на тот же диск: 30 секунд
- Почтовый индекс: 5 секунд
- Скопируйте один заархивированный файл: 2 секунды
- Распаковать: 65 секунд. (На другой машине: 20 секунд)
В вычислительном отношении распаковка должна выполняться быстрее, чем архивирование. Таким образом, распаковка может зависеть от производительности файловой системы.
Фрагментация диска может быть фактором, и причина, по которой другой подобный компьютер может быстрее обрабатывать многие операции файловой системы. Но если здесь присутствует фрагментация диска, это может указывать на то, что пользователь должен ждать завершения каждой операции файловой системы, прежде чем начнется следующая, то есть, как в старой DOS.