Какой метод архивации лучше использовать для сжатия текстовых файлов в Linux?

16

В моем приложении мне нужно сделать сжатие журналов, которые являются текстовыми файлами.

Кажется, что bzip2и gzipимеют одинаковую степень сжатия.

Это верно?

user710818
источник
xz (от xz-tools или 7z от p7zip, очень похоже на lzma) - лучший. bzip2 лучше, чем gzip.
osgx

Ответы:

4

Как правило, bz2 имеет лучшую степень сжатия в сочетании с лучшими функциями восстановления.

OTOH, GZ быстрее.

Говорят, что xz даже лучше, чем bz2, но я не знаю, каково время.

glglgl
источник
xz медленнее, чем bzip2.
osgx
xz не просто медленнее, но гораздо медленнее, файл 300 Мб занял около 30 секунд для сжатия bzip2. Я убил XZ после его сжатия в течение более 5 минут
Теб
@ Копать_Шо_я_нашел Я думаю, это сильно зависит от выбранного вами уровня сжатия. При этом -1он не такой медленный, но с настройками по умолчанию он довольно медленный.
glglgl
7

Последнее обновление maximumcompression.com - июнь-2011 (ответ обновлен в октябре-2015).
Поэтому на этом веб-сайте не упоминается
действующий текстовый компрессор в мире :

      cmix

Соревнования / контрольные показатели:

Детали:
Байрон Нолл активно развиваетсяcmix в Libre программного обеспечения (GPL) с 2013 года на основе книги сжатия данных Разъяснения по Мэтту Махони . Мэтт Махони также поддерживает некоторые из вышеперечисленных тестов и предлагает ZPAQ ( WP ), инкрементный архиватор командной строки.


Если вы предпочитаете более стандартный инструмент (требующий меньше оперативной памяти), я рекомендую:

      lrzip

lrzipэто эволюция rzipот Коливас .
lrzipобозначает два имени: Long Range ZIP и Lzma RZIP .
lrzipчасто лучше чем xz(другой популярный инструмент сжатия).
Александр Риччио также рекомендует lrzip.


Мой любимый:

      zpaq

«Архиватор эксперт» , Мэтт Махони , интенсивно работал над PAQ алгоритмами в течение десяти лет и обеспечивает наилучший компромисс между CPU / ресурсами памяти и уровнем сжатия.

Тем не менее, последняя zpaqверсия не часто упаковывается / доступна в последних дистрибутивах :-(
Я всегда компилирую ее из источников, когда у меня новая машина, и мне нужен очень хороший компрессор: https://github.com/zpaq/zpaq

clone https://github.com/zpaq/zpaq
cd zpaq
g++ -O3 -march=native -Dunix zpaq.cpp libzpaq.cpp -pthread -o zpaq
olibre
источник
1

я сделал тест для тестирования, чтобы сжать следующее:
204MB папка (с 1600 файлами HTML)
результаты

7zip =>     2.38 MB
winrar =>   49.5 MB
zip =>      50.8 MB
gzip =>     51.9 MB

так что 7zip - лучший среди них, вы можете получить его здесь
http://www.7-zip.org/

Абдалла Мохамед Али Ибрагим
источник
0

У bz2 сжатие более жесткое, в алгоритме есть больше вариантов поиска избыточности для сжатия.

В gzip гораздо больше инструментов и больше кроссплатформенности. Другие инструменты Windows могут работать с файлами .gz. Это часть http, так что даже веб-браузеры могут это понять.

В Linux есть инструменты, которые позволяют вам работать непосредственно со сжатыми файлами. zgrep и bzgrep могут искать в сжатых файлах.

Если бы только в Linux, я бы использовал bzip2, для немного лучших коэффициентов сжатия.

Рич Гомолка
источник
0

xz сжимает намного лучше, чем bz2, но занимает больше времени. Итак, если ваша цель - максимальное сжатие, а пространство на вашем жестком диске выше (это мой случай с одним заполненным диском на 98% - в то время как я реорганизую свои файловые системы), и вы можете запустить сценарий, чтобы выполнить работу - сделать перерыв и вернуться через 5 минут.

В моем опыте unxz очень быстро распаковывается, и это хорошо для меня каждый день.

bz2 быстрее сжимается, чем xz, но, похоже, не достигает результатов сжатия xz.

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

Том
источник