7ZIP & DLZ VERSUS LOLZ

Hunter

Новичок
Набор данных для теста был намеренно подобран.
Сжатие файлов, которые плохо жмутся
Сжатие русской озвучки игры Dead Space 2 - в ней есть как звуки так и видеофайлы

оригинал = 1.25 ГБ (1,352,201,285 байт)
1.02 ГБ (1,104,674,178 байт) - 7zip(lzma2:256mb)
1,03 ГБ (1 110 065 509 байт) -SREP+LZMA2
================================
1.03 ГБ (1,108,783,216 байт) -DLZ
1.01 ГБ (1,095,314,850 байт) -LOLZ

В ЭТОМ ТЕСТЕ СЕБЯ ПРОЯВИЛ LOLZ

СКОРОСТЬ РАСПАКОВКИ БЫСТРЕЕ 7ZIP

================================

1,03 ГБ (1 108 783 216 байт) - dlz
1,03 ГБ (1 112 628 819 байт) - srep:mem256mb:l128+dlz
ВЫВОД - СО СРЕПОМ СЖАТИЕ ХУЖЕ
========================
1.01 ГБ (1,095,314,850 байт) - lolz
1.02 ГБ (1,096,475,024 байт) - srep+lolz
ВЫВОД - СО СРЕПОМ СЖАТИЕ ХУЖЕ


Мои аплодисменты автору LOLZ - Успехов в любых начинаниях!!!!!!!!!! УРРРАА ТОВАРИЩИ-РЕПАКЕРЫ!!!!!!!!!!!
 

Вложения

Hunter

Новичок
>srep:mem256mb:l128

по умолчанию l512, он даёт наилучшее сжатие в паре с lzma. при меньшем значении srep отбирает матчи у lzma и сжатие обычно ухудшается
Булат - спасибо за некую ясность - но lolz использует lz match finder( среп как мне известно на такой же базе) - что не даёт возможность развернуться srep-у . Fitgirl сочетает cls-srep*.exe & cls-lolz*.exe - я думаю это полезно на большом объёме данных???
 

Булат Зиганшин

Developer
Модератор
во-первых, и lzma и razor - все используют lz. во-вторых, srep идёт ПЕРЕД lolz/lzma/..., т.е. он находит эти матчи, кодирует их и не даёт lz-пакерам закодировать их более эффективно. ну и дальше есть два соображения - первое, что они в отличие от srep имеют ограниченный "радиус действия", то бишь словарь, и там где есть только далёкий матч - они вовсе ничего не найдут. второе - что даже ближние матчи, если они довольно большие, есть смысл убирать srep'ом, поскольку это сокращает дистанции для всех матчей и тем самым чуть-чуть улучшает сжатие

вообще я проводил тесты с lzma - при мин. размере матча в диапазоне от 500 до 700 байт общий результат менялся очень незначительно и скорее случайно, так что (по крайней мере в моих тестах) разницы какой назначить :l из этого диапазона - вообще нет. если уж улучшать сжатие - то :m3:c64:l512 даёт наилучшие результаты с lzma afair. в новой версии srep это будет метод :m3z, а пока можете так попробовать :)
 
Последнее редактирование:

Булат Зиганшин

Developer
Модератор
а это секретное оружие. я о том что его стоит трогать узнал только от fg, а до этого даже не задумывался. а так она пожаловалась что он в 3.93 сломан, ну я и покрутил для интереса. и выяснил что самое лучшее сжатие - в вышеупомянутом конфиге

смысл такой, что данные разбиваются на куски по 64 байта, но поскольку миним. размер матча 512 байт (т.е. l512), то нужно чтобы 8 таких кусков подряд совпали. по дефолту же для m3 - c512:l512, т.е. берутся только матчи, начинающиеся с кратной 512 позиции. понятно, что немножечко матчей мы по сравнению с c64:l512 при этом таки теряем

впрочем, разница там крошечная
 

sergey3695

Ветеран
Модератор
toolame, насколько я понял, можно поставить c8 и забыть про этот параметр.
 
Последнее редактирование:

Булат Зиганшин

Developer
Модератор
:l задаёт минимальный размер матча
:c задаёт куски, на которые разбиваются данные для поиска таких матчей

скажем при :l8:c8 матчи могут быть только с целым количеством 8-байтовых слов, начинающихся на позициях, кратных 8. с :l8:c4 - с минимум двумя 4-байтными словами, начинающимися на позициях, кратных 4. с l8:c2 - минимум 4 двух-байтных слова, начинающиеся на чётных позициях

меньше :c64 ставить не рекомендую. выигрыша в жатии уже не будет, а потребление памяти вырастет
 

toolame

Старожил
Проверенный
скажем при :l8:c8 матчи могут быть только с целым количеством 8-байтовых слов, начинающихся на позициях, кратных 8. с :l8:c4 - с минимум двумя 4-байтными словами, начинающимися на позициях, кратных 4. с l8:c2 - минимум 4 двух-байтных слова, начинающиеся на чётных позициях
кажется понял теперь...да я тугодум)
по умолчанию :c равен: L/2 rounded down to the power of 2, да?
 

Булат Зиганшин

Developer
Модератор
по умолчанию c=l для m3, c=l/2 для m5. и кажись округляется вниз поскольку с должен быть степенью 2. в общем, srep печатает - смотри сам
 
Сверху