«лучший» как в «в результате размер файла наименьший»?
Хеннес
Я не знаю, я пытался найти способ сформулировать вопрос, чтобы я мог добавить свой тест в качестве ответа. Я также понятия не имею, почему эта вещь была закрыта. @Karan
Nathan2055
1
О, почему это было закрыто, это легко. «Лучшее» очень субъективно и обычно приводит к дискуссиям или неконструктивным ответам. Наилучшим сжатием может быть наименьший размер файла, самое быстрое сжатие, наименьшая мощность, используемая для сжатия (например, на ноутбуке), наименьшее влияние на систему при сжатии (например, древние однопоточные программы, использующие только одно из ядер), ... или комбинация из всех тех.
Hennes
Интересная статья для чтения - tomshardware.com/reviews/winrar-winzip-7-zip-magicrar,3436.html (основанная на Windows и ориентированная на 7zip, magicRAR, WinRAR и WinZip, а не на xz, gz или bz, но все же интересная и предоставление справочной информации).
Хеннес
@Hennes - Я убрал пост, чтобы заменить лучшее на то, что я исследовал. Кроме того, спасибо за статью, которую вы упомянули, я прочитаю ее позже сегодня.
Nathan2055
Ответы:
15
В моем стресс-тесте я сжал 464 мегабайта данных, используя три перечисленных формата. Gzip вернул файл размером 364 МБ. Bzip2 вернул файл размером 315 МБ. Xz вернул файл размером 254 МБ. Я также сделал простой тест скорости:
Сжатие:
1: Gzip
2: Xz
3: Bzip2 (мой вентилятор дул довольно долго, пока это происходило, указывая на то, что мой Athlon II был довольно напряженным)
Декомпрессия:
1: Xz
2: Gzip
3: Bzip2
Обратите внимание, что все эти тесты были выполнены с использованием последней версии 7-Zip.
Xz - лучший формат для всестороннего сжатия, в то время как Gzip очень хорош для скорости. Bzip2 подходит для своей степени сжатия, хотя xz, вероятно, следует использовать вместо него.
все уровни сжатия на макс., процессор Intel I7 3740QM, память 32 ГБ 1600, источник и место назначения на RAM-диске
Обычно я использую rar или 7z для архивирования обычных файлов, таких как документы.
и для архивирования системных файлов я использую .tar.gz или .tar.xz с помощью file-roller или tar с параметрами -z или -J вместе с --preserve для непосредственного сжатия с помощью tar и сохранения разрешений (также альтернативно .tar.7z или .tar.rar можно использовать)
Обновление: поскольку tar сохраняет только обычные разрешения, но не ACL, в любом случае также можно использовать обычные разрешения .7z плюс резервное копирование и восстановление, а также ACL вручную через getfacl и sefacl, что представляется наилучшим вариантом как для архивирования файлов, так и для резервного копирования системных файлов, поскольку он будет заполнен Сохранять разрешения и ACL, имеет контрольную сумму, проверку целостности и возможность шифрования, только недостатком является то, что p7zip не везде доступен
Студент, какие были варианты рар? Почему бы не попробовать lrzip by kolivas , он должен хорошо работать для образов виртуальных дисков.
osgx
Я перехожу с RAR на Git и tarballs для моих текстовых файлов и btrfs для всего остального; моя причина использования RAR не в производительности, я использую ее из-за таких функций, как запись восстановления, отдельная 256-битная контрольная сумма на уровне файлов для каждого файла и ....
Sudoer
3
Я думаю, что эта статья дает очень интересные результаты.
Наиболее эффективными форматами являются xz и lzma, оба с переданным параметром -e.
Самым быстрым алгоритмом на сегодняшний день являются lzop и lz4, которые могут выдавать уровень сжатия не очень далеко от gzip за 1,3 секунды, тогда как gzip занимал 8,1 секунды. Степень сжатия составляет 2,8 для lz4 и 3,7 для gzip.
Вот несколько результатов, которые я извлек из этой статьи:
Gzip: 8,1 с при 3,7
lz4: 1,3 с при 2,8
xz: 32,2 с при 5,43
xz-e: 6m40 @ 7.063
xz: 4m51s @ 7.063
Так что если вам действительно нужна скорость, lz4 великолепен и по-прежнему обеспечивает степень сжатия 2,8.
Если вам отчаянно нужно сэкономить байт, xz при максимальном уровне сжатия (9) лучше всего справляется с текстовыми файлами, такими как исходный код ядра. Тем не менее, это очень долго и занимает много памяти.
Хорошим примером для минимизации влияния на время и пространство является gzip. Это тот, который я бы использовал для ежедневного ручного резервного копирования производственной среды.
Ответы:
В моем стресс-тесте я сжал 464 мегабайта данных, используя три перечисленных формата. Gzip вернул файл размером 364 МБ. Bzip2 вернул файл размером 315 МБ. Xz вернул файл размером 254 МБ. Я также сделал простой тест скорости:
Сжатие:
1: Gzip
2: Xz
3: Bzip2 (мой вентилятор дул довольно долго, пока это происходило, указывая на то, что мой Athlon II был довольно напряженным)
Декомпрессия:
1: Xz
2: Gzip
3: Bzip2
Обратите внимание, что все эти тесты были выполнены с использованием последней версии 7-Zip.
Xz - лучший формат для всестороннего сжатия, в то время как Gzip очень хорош для скорости. Bzip2 подходит для своей степени сжатия, хотя xz, вероятно, следует использовать вместо него.
источник
bzip2 -9 <file>
?Я сделал свой собственный тест для установочного образа Linux на 1.1GB vmdk:
все уровни сжатия на макс., процессор Intel I7 3740QM, память 32 ГБ 1600, источник и место назначения на RAM-диске
Обычно я использую rar или 7z для архивирования обычных файлов, таких как документы.
и для архивирования системных файлов я использую .tar.gz или .tar.xz с помощью file-roller или tar с параметрами -z или -J вместе с --preserve для непосредственного сжатия с помощью tar и сохранения разрешений (также альтернативно .tar.7z или .tar.rar можно использовать)
Обновление: поскольку tar сохраняет только обычные разрешения, но не ACL, в любом случае также можно использовать обычные разрешения .7z плюс резервное копирование и восстановление, а также ACL вручную через getfacl и sefacl, что представляется наилучшим вариантом как для архивирования файлов, так и для резервного копирования системных файлов, поскольку он будет заполнен Сохранять разрешения и ACL, имеет контрольную сумму, проверку целостности и возможность шифрования, только недостатком является то, что p7zip не везде доступен
источник
Я думаю, что эта статья дает очень интересные результаты.
http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
Наиболее эффективными форматами являются xz и lzma, оба с переданным параметром -e.
Самым быстрым алгоритмом на сегодняшний день являются lzop и lz4, которые могут выдавать уровень сжатия не очень далеко от gzip за 1,3 секунды, тогда как gzip занимал 8,1 секунды. Степень сжатия составляет 2,8 для lz4 и 3,7 для gzip.
Вот несколько результатов, которые я извлек из этой статьи:
Gzip: 8,1 с при 3,7
lz4: 1,3 с при 2,8
xz: 32,2 с при 5,43
xz-e: 6m40 @ 7.063
Так что если вам действительно нужна скорость, lz4 великолепен и по-прежнему обеспечивает степень сжатия 2,8.
Если вам отчаянно нужно сэкономить байт, xz при максимальном уровне сжатия (9) лучше всего справляется с текстовыми файлами, такими как исходный код ядра. Тем не менее, это очень долго и занимает много памяти.
Хорошим примером для минимизации влияния на время и пространство является gzip. Это тот, который я бы использовал для ежедневного ручного резервного копирования производственной среды.
источник