Лучший ответ на этот вопрос - почти наверняка семейство алгоритмов PAQ
, разработанных Мэттом Махони. Он использовал его, чтобы выиграть несколько файлов со сжатием данных, и когда я последний раз проверял, он все еще содержал некоторые из своих записей. Сжатие занимает очень много времени и может потребовать огромных объемов оперативной памяти, но я видел, что это значительно сокращает даже файлы, которые уже были сильно сжаты (например, существующие архивы).
Вы можете получить самую последнюю версию и все основные предыдущие версии (некоторые с разными областями внимания, такими как простота использования или параллельная работа) утилиты командной строки здесь: http://mattmahoney.net/dc/zpaq.html
Есть и другие реализации, которые вы можете предпочесть. Если вам нужен графический интерфейс, для PeaZip есть плагин "дополнительные форматы", который включает PAQ
: http://peazip.sourceforge.net/peazip-add-ons.html
lrzip
- это утилита командной строки, оптимизированная для больших файлов (в диапазоне ГБ). Он использует алгоритм сокращения избыточности на большие расстояния, за которым следует второй алгоритм, выбранный пользователем, который может включать в себя версию алгоритма PAQ
(или различные более быстрые алгоритмы, если они вам нужны). Он также имеет другие интересные функции, в том числе возможность использовать виртуальную память для сжатия файлов, размер которых превышает объем физической памяти вашей системы, за счет резкого замедления.
Помимо использования мощного алгоритма сжатия, вы можете уменьшить размер вашего окончательного архива, предварительно обработав файлы другими инструментами. Вы можете конвертировать некоторые файлы из изначально раздутых форматов в более компактные или лишать их метаданных. Используя такую утилиту, как dar
(хотя большинство людей здесь предпочитают более старый tar
), вы можете комбинировать большое количество файлов, чтобы сделать сжатие более эффективным, и контролировать количество метаданных файловой системы (например, разрешений Unix), которые программы, такие как 7zip, безусловно добавляют в свои архивы. , Любой из этих методов предполагает, что вы готовы посвятить больше личного времени помимо машинных ресурсов.
РЕДАКТИРОВАТЬ: я обнаружил, что tar
и dar
не позволяют контролировать метаданные, и при этом dar
не заменяет набор функций tar
как подразумевает его миссия. Однако они оба поддерживают разреженные файлы, и dar
может сделать сжатие более эффективным, если используется опция записи заголовков файлов только в индекс (обычно dar
записывает заголовки tar
стиля в дополнение к индексу).
Что касается сжатия GPU, то я этого не видел. Это может быть нежизнеспособным, если сжатие больше зависит от оперативной памяти, чем от количества ядер, например Litecoin.
Все перечисленные здесь программы бесплатны, с открытым исходным кодом и (за возможным исключением lrzip
) доступны для всех основных операционных систем.