Я хочу сжать двоичные файлы данных, такие как снимки виртуальной машины. Какой тип архива будет лучше для этого, где лучше всего означает наименьший размер выходного файла? Благодарю.

2 ответа2

1

Я провел обширные тесты с двоичными данными NBT (архив) и всеми опциями, которые предлагает 7zip (архив). Лучшими были: * .7z, максимальное сжатие, алгоритм LZMA2, самый большой размер словаря и размер слова (для больших файлов). Это привело к уменьшению объема 1,5 ГБ до 313 МБ. Но это, вероятно, еще не конец, у вас могут быть даже меньшие размеры файлов, но за счет времени. Сжатие, которое я использовал, уже заняло 4 ядра процессора 4 ГГц за 10 минут, чтобы сжать этот файл, ваш, вероятно, будет больше и займет больше времени. И поскольку сжатие работает, чем больше правил вы реализуете, тем меньше файлы, но сжатие также требует экспоненциально большего времени и более сложной программы.

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

0

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

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

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