3

Существует много программ сжатия общего назначения. 7z, zip, tar и т.д. (Https://en.wikipedia.org/wiki/Comparison_of_file_archivers)

В зависимости от типа данных можно работать лучше (например, соотношение скорость / размер)

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

1 ответ1

1

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

В формате ZIP используется алгоритм Лемпеля-Зива, который хорошо работает для общих текстовых данных, но не обязательно для других форматов, поэтому специальные алгоритмы были разработаны для других форматов.

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

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

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

Единственный эвристический подход - изучить сами алгоритмы и решить, как они работают.

Как постскриптум, обратите внимание, что TAR - это формат архива , а не формат сжатия, хотя программа управления будет обрабатывать TGZ, сжатый формат TAR.

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