2

Учитывая, сколько времени потребуется для распаковки папок zip после их копирования на флэш-диск, что будет быстрее? Скопируйте сжатые папки на флэш-накопитель USB, затем распакуйте их на флэш-накопитель или просто скопируйте несжатые папки на флэш-накопитель.

Не принимайте во внимание время, необходимое для сжатия файлов, так как файлы уже сжаты перед копированием. Я могу копировать либо с жесткого диска USB, либо с SSD на флэш-накопитель USB (оба поддерживают USB 3.0).

В этом конкретном случае я хочу передать 9 zip-файлов, которые имеют в общей сложности 115 518 файлов, большинство из которых представляют собой действительно небольшие файлы изображений (всего 9 файлов составляют 15 ГБ несжатого и 10 ГБ сжатого).

3 ответа3

2

Учитывая, сколько времени потребуется для распаковки папок zip после их копирования на флэш-диск, что будет быстрее? Скопируйте сжатые папки на флэш-накопитель USB, затем распакуйте их на флэш-накопитель или просто скопируйте несжатые папки на флэш-накопитель.

Вероятно, последний.

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

Итак, ваш первый план будет включать:

  1. Копирование 10 ГБ данных с диска на флэш
  2. Чтение этих 10 ГБ обратно из флэш - памяти в ОЗУ
  3. Распаковка
  4. Запись 15 ГБ распакованных данных из ОЗУ на флэш-память
  5. Удаление ненужных сжатых файлов, оставшихся после шага 1

Второй:

  1. Чтение 10 ГБ непосредственно с внутреннего диска в ОЗУ
  2. Распаковка
  3. Запись 15 ГБ распакованных данных на флэш-память

Обратите внимание, что первый план предполагает вдвое больше чтения и письма. Но не только это: на самом деле шаги 2-3-4 будут выполняться не по порядку, а параллельно - что ускоряет процесс при чтении с одного диска и записи на другой, но намного медленнее, когда один и тот же диск выполняет оба чтения. и пишет.

1

Что может быть быстрее: перенести заархивированный файл на флэш-диск, затем распаковать его туда или перенести разархивированный файл?

Несомненно правильный ответ «передачи ип заархивированные файлы».

Конечно, передача архивированного архива всех файлов будет быстрее, но вы предусмотрели дополнительный шаг "затем распакуйте там".

Видимо, вы не знаете, что вы не можете "распаковать" локально на диске или устройстве хранения.
Файл исходного архива должен быть прочитан (откуда бы он ни хранился), а затем CPU будет выполнять декомпрессию в основной памяти.

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

Этот последний шаг (написание отдельных файлов) сам по себе эквивалентен последнему выбору. Таким образом, дополнительные шаги: сначала написать файл (ы) zip, а затем прочитать их обратно (но, возможно, оптимизировать с помощью кэширования), должны сделать ваш первый выбор более длительной операцией.



Другой способ взглянуть на ваш вопрос - предположить некоторую степень параллелизма между операциями и угадать время.

Таким образом, для случая 1 копирование zip-файла на флэш-накопитель требует операций чтения одновременно с операцией записи (но с некоторой задержкой блока).
Запись также требует больше времени для выполнения, чем чтение (например, см. Почему копирование одного и того же объема данных занимает больше времени, если оно распределено по многим отдельным файлам?).
После завершения копирования его можно прочитать, распаковать и записать обратно на флэш-накопитель.
Несмотря на параллельность операций чтения, распаковки и записи, общая временная шкала определяется временем записи всех несжатых файлов.

RRRRRRRRR  
 WWWWWWWWWW  
           rrr    rrr   rrr  
            DDDD   DDDD  DDDDD
              WWWWWWWWWWWWWWWWWWWWW  
time-->

Случай 2 - это простое чтение, распаковка и запись.
В этом случае требуется одинаковое количество времени для записи всех несжатых файлов.

RRR    RRR   RRR  
 DDDD   DDDD  DDDDD
   WWWWWWWWWWWWWWWWWWWWW

Как можно ожидать, что Случай 1 будет выполнен быстрее, чем Случай 2, когда первый этап операций чтения выполняется для одного и того же объема данных с одного устройства, а последний этап записи предназначен для того же объема данных на том же устройстве
а также
Случай 1 затруднен тем, что нужно сначала выполнить копию?

0

Если вы хотите разархивировать на один и тот же диск - не пытайтесь архивировать вообще. Если вы разархивируете на другой диск - рассмотрите возможность архивирования, так как это сделает меньше вызовов ввода-вывода для файловой системы (меньше данных и меньше файловых сущностей)

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