[TC] 7zip и методы упаковки
Доброе время суток, уважаемые участники рассылки!
Господа, есть в сабжевом архиваторе для формата 7z 2 метода упаковки:
lzma и ppmd, так вот какой из этих методов обеспечивает более высокую
степень сжадия? У ppmd гораздо большее задаваемое размера словаря до
нескольких гб, тогда, как у lzma предел 64 мб. Ну и какой лучше
выбирать размер блока? Логически предполагая, наилучшая степерь сжатия
будет при непрерывном размере блока, но, возможно я ошибаюсь и размер
блока нужно устанавливать "по длине файла"
Здравствуйте, yuniks.
Вы писали 30 августа 2008 г., 15:29:51:
LZMA, на мой взгляд, даёт лучшее сжатие в большинстве случаев.
Для уверенности, в конкретном случае можно провести тест, зажав обоими
методами и сравнив результат.
У старых версий 7z можно было для lzma выставить и больше, чем 64 МБ.
Максимум был 192 МБ, при этом отжиралось 2 ГБ памяти.
Это, насколько я понимаю, в случае непрерывного архива, "длина"
непрерывного куска этого архива. Т.е. пакуемые файлы собираются
кусками по [размер блока], и этот кусок пакуется как непрерывный.
Поясню. В случае непрерывного архива все данные собираются в кучу и
вся куча сжимается как один файл. В случае блоков можно эту кучу
разбить на части (блоки) и каждую часть запаковать отдельно, но всё
это будет в пределах одного архива. Для обеспечения максимальной
степени сжатия нужно выставить размер блока больше, чем размер сжатых
данных, т.е. чтобы был только один блок. Для простоты можно выставить
просто максимальное значение.