Предыдущие ответы ошибочны на порядок!
Лучший алгоритм сжатия, с которым у меня есть личный опыт, это paq8o10t (см. Страницу zpaq и PDF ).
Подсказка: команда для сжатия files_or_folders будет выглядеть так:
paq8o10t -5 archive files_or_folders
Источник: инкрементная утилита архивации журналов и архиватор
Вы можете найти зеркало исходного кода на GitHub .
Несколько лучший алгоритм сжатия и победитель премии Хаттера - decomp8 (см. Ссылку на странице с призом). Тем не менее, нет программы компрессора, которую вы могли бы использовать.
Для действительно больших файлов lrzip может достичь коэффициентов сжатия, которые просто комичны .
Пример из README.benchmarks:
Давайте возьмем шесть деревьев ядра на одну версию в виде tarball, от linux-2.6.31 до linux-2.6.36. Они покажут много избыточной информации, но с разницей в сотни мегабайт, которую lrzip будет очень хорошо сжимать. Для простоты будет сравниваться только 7z, поскольку на данный момент это лучший компрессор общего назначения:
Это тесты, выполненные на двухъядерном Intel Core2 с частотой 2,53 ГГц и оперативной памятью 4 ГБ с использованием lrzip v0.5.1. Обратите внимание, что он работал с 32-битным пользовательским пространством, поэтому возможна только адресация 2 ГБ. Однако тест был выполнен с опцией -U, позволяющей обрабатывать весь файл как одно большое окно сжатия.
Тарбол из 6 последовательных ядерных деревьев.
Compression Size Percentage Compress Decompress
None 2373713920 100 [n/a] [n/a]
7z 344088002 14.5 17m26s 1m22s
lrzip 104874109 4.4 11m37s 56s
lrzip -l 223130711 9.4 05m21s 1m01s
lrzip -U 73356070 3.1 08m53s 43s
lrzip -Ul 158851141 6.7 04m31s 35s
lrzip -Uz 62614573 2.6 24m42s 25m30s