4

Допустим, я копирую каталог переносимых приложений с ПК на внешний жесткий диск. Файл application.exe имеет размер около 4 мегабайт, но большинство других файлов имеют размер только десятки килобайт, и для копирования и перемещения большинства этих файлов требуется больше времени, чем для файла большего размера, имеющего 4 мегабайта.

Почему это?

4 ответа4

7

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

6

Если вы передаете файл, в источнике появляются open+read+close и open+write+close в месте назначения, все связанные атрибуты (ctime/atime/mtime и т.д.) Создаются в месте назначения. Фрагментация (более высокое время поиска) также повлияет на данные. Перегрузка, например, sata-канала, также может быть проблемой (используйте отдельные порты для каждого диска, купите карту sata, если у вас закончится). Большие файлы имеют более длительные последовательные операции чтения и записи и будут передаваться быстрее. Я уверен, что это намного больше. Вам это поможет?

2

Именно так работают окна, и именно в этом проблема жесткого диска. Обычно твердотельные накопители хороши при копировании небольших файлов. Вы можете проверить бенчмаркинг HDD и SSD относительно скорости передачи файлов. Но вы должны знать, что существуют другие вещи, например, Windows сначала читает файлы, затем ваш антивирус проверяет их, а затем они записываются в новую папку назначения. Не говоря уже о том, что при вырезании файла добавляется процесс удаления. Таким образом, больше файлов, больше "реального" времени добавлено, чтобы скопировать большее количество файлов.

-1

Думай об этом так,

Компьютеру назначено задание взять 10 книг (10 файлов) из точки А в точку Б. Если они индивидуальны, то компьютер должен доставить одну книгу в точку Б, а затем вернуться в точку А, чтобы забрать следующую книгу. и так далее. Принимая во внимание, что если бы нужно было взять одну большую книгу, которая была бы эквивалентна весу 10 книг вместе, то для перемещения книги потребовалось бы больше времени, но это будет более быстрый процесс, потому что компьютер совершает только одну поездку.

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