1

Изначально Unix был разработан для выполнения операций файловой системы в памяти и для обновления блоков диска только каждые 30 секунд во время sync . Это привело к гораздо более быстрому взаимодействию с пользователем, чем MSDOS много лет назад, который обращался к дисковым блокам непосредственно для каждой операции файловой системы. Но сегодня, используя Windows 7, я все еще вижу, что копирование большого количества маленьких файлов занимает гораздо больше времени, чем копирование одного большого файла того же размера.

Например: каталог публикации веб-проекта Visual Studio C # Asp содержит 2000 файлов, всего 150 МБ, в сжатом виде (7Zip) 90 МБ.

  • Скопируйте весь каталог на тот же диск: 30 секунд
  • Почтовый индекс: 5 секунд
  • Скопируйте один заархивированный файл: 2 секунды
  • Распаковать: 65 секунд. (На другой машине: 20 секунд)

В вычислительном отношении распаковка должна выполняться быстрее, чем архивирование. Таким образом, распаковка может зависеть от производительности файловой системы.

Фрагментация диска может быть фактором, и причина, по которой другой подобный компьютер может быстрее обрабатывать многие операции файловой системы. Но если здесь присутствует фрагментация диска, это может указывать на то, что пользователь должен ждать завершения каждой операции файловой системы, прежде чем начнется следующая, то есть, как в старой DOS.

2 ответа2

0

Поведение (доступ без кэширования), которое вы описываете, не использовалось с Windows 3.11. Однако Windows сбрасывает свой кэш более агрессивно, чем Unix. Это до их соответствующих корней. Предполагалось, что машины Unix построены с надежным оборудованием и мощностью. ПК с Windows были дешевыми коробками, которые гораздо чаще выходили из строя. Это была не просто проблема ОС, источники бесперебойного питания гораздо менее распространены на ПК, а дешевые диски IDE были менее надежны при потере мощности, чем дорогие серверные диски SCSI. Не помог и древний формат FAT - нет сообщений об огромных коррупционных возможностях. NTFS намного лучше. Что вы использовали для теста?

0

Исходя из информации, которую я нашел (см. Выше) и от авторов, приведенных выше, я пришел к выводу, что современная Windows может выполнять буферизацию / кэширование диска, но это часто отключается. Причины заключаются в том, что NTFS не имеет журналирования. Производительность Windows может иметь второстепенное значение по сравнению с прибылью: качество в зависимости от времени выхода на рынок. С Unix / Linux, которые являются менее коммерческими, качество / производительность намного важнее.

Совпадение: коллега в настоящее время архивирует несколько ГБ файлов, чтобы попытаться копировать быстрее, и смотрит на диалоговое окно Windows Archive, говорящее "10 секунд осталось" в течение последних получаса, с медленно растущим zip-файлом (не заморожен), Но это также может быть неисправный диск ... :-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .