
Какие параметры сжатия в ZIP-архив обеспечат оптимальную скорость распаковки?
Размер архива в данном случае не имеет большого значения.
Я собирался использовать 7-Zip. Может быть, другие инструменты могут оптимизировать распаковку?
решение1
Итак, вы осуществляете передачу по сети.
Когда дело доходит до декомпрессии, необходимо учитывать все переменные:
- Откуда берутся данные?
- Куда поступают данные?
- Насколько быстр ваш процессор? Он обычно загружен?
Если не обращать внимания ни на что, то несжатый поток (типа tar
) всегда будет самым быстрым.
Однако несжатые данные должны куда-то попадать. Как быстро они могут туда попасть? Даже локальное устройство хранения обычно имеет достижимые пределы.Общей целью обычно является насыщение доступной полосы пропускания ввода-вывода в пункте назначения.
Данные должны быть извлечены. Если это быстрое сетевое соединение (1+ Гбит/с), быстрый алгоритм сжатия, такой как LZ4 или LZO, скорее всего, все еще стоит того. По мере того, как соединение становится медленнее, смещение смещается в сторону более ресурсоемких алгоритмов ЦП. Хотя это больше касается стороны отправки, декомпрессия почти всегда происходит быстрее на порядки.
Данные должны быть распакованы. Это требует процессорного времени, а иногда и значительного объема памяти. Насколько именно, зависит от модели процессора. Еще одна проблема, конечно, заключается в том, чтобы не нарушить работу других служб.
tl;dr: При быстром сетевом подключении алгоритм ZIP не является подходящим выбором. Попробуйте LZ4.