Что нового?
Иконка ресурса

lolz test22c4b

Нет прав для скачивания
lolz - компрессор, созданный на основе адаптивного rans, подходящий для любых данных, но наилучшие результаты показывает на структурированных данных. Сделаны специальные модели для dxt текстур и raw графики (в отдаленном будущем, возможно, и для raw аудио появится). Имеется возможность сжимать и разжимать многопоточно.
В lolz имеется довольно много опций, но некоторая часть из них уже не работает из-за отсутствия необходимости в них, однако они пока не убраны из кодека. Опции по умолчанию в большинстве случаев оптимальны.
Краткое описание опций:
Опции детекта данных:
-dt[0..1] - включает/выключает детект pos_ctx/dxt/raw. никаких заголовков, все детектится на основе анализа статистики данных. По умолчанию: -dt1;
-dtp[0..1] - включает/выключает передачу последующим блокам в детекте статистику от предыдущих блоков. По умолчанию: -dtp1;
-dtb[0..1] - включает/выключает перебор всех вариантов вне зависимости от эвристик. По умолчанию: dtb0;
-dto[0..1] - включает/выключает детект лучшего позиционного o1 контекста. По умолчанию: -dto1;
-dtm[0..1] - включает/выключает детект мультимедиа raw графики. По умолчанию: -dtm1;
-dtw[0..1] - включает/выключает детект ширины для raw графики и dxt текстур;
-dtd[0..1] - включает/выключает детект dxt текстур;​
Опции многопотока:
-mtt[0..1] - при многопоточной обработке указывает используемый режим работы. При 0 размер словаря должен быть как минимум в 2 раза больше размера блока. В этом режиме данные для каждого потока будут загружаться чередуясь размером в блок. В этом режиме в большинстве случаев можно добиться лучшего сжатия, чем во втором, однако для распаковки потребуется такое число потоков, как и при сжатии. При 1 каждый блок сжимается отдельно, без зависимостей от соседних данных, соответственно сжатие тут получается обычно хуже, чем в первом режиме, но количество потоков на распаковку можно указывать любое. Именно для этого режима применяются опции из cls.ini MaxThreadsUsage и MaxMemoryUsage. По умолчанию: -mtt0;
-mt[1..16] - задает число потоков для обработки. При -mt1 и -mtt0 получается обычное последовательное сжатие без потерь в сжатии на разделение потока на блоки. По умолчанию: -mt1;
-mtb[2..512] - задает размер блока в Мб. При -mt1 -mtt0 так же играет значение, но минимальное. И больше - не значит лучше. Обычно для -mtt0 оптимальное значение порядка 32-64мб, соответственно размер словаря должен быть более, чем в 2 раза больше. Для режима mtt1 размер словаря должен быть не более размера блока;​
Основные опции:
-d[16..2032] - размер словаря в Мб. По умолчанию: -d64;
-tt[1..256] - количество рассматриваемых путей в оптимальном парсере. Очень сильно влияет на скорость и степень сжатия, но не на распаковку. Не стоит задавать больше 16, уверяю, оно того не стоит. По умолчанию: -tt4;
-oh[8..14] - задает максимальное количество байт, которое оптимальный парсер обработает за раз (2^X). По умолчанию: -oh12;
-os[0..-oh] - задает минимальное количетсво байт, которое парсер обработает за раз (2^X). По умолчанию: -os8;
-fba[0..4096] - задает размер минимального совпадения, при котором парсер не станет сильно утруждаться в расчетах. Прилично ускоряется сжатие (раза в 2) с небольшой потерей сжатия. При 0 эти упрощения отключаются. По умолчанию: -fba256;
-fbb[0..4096] - ЭТА ОПЦИЯ НА ДАННЫЙ МОМЕНТ НЕ РАБОТАЕТ. Задавала еще большие упрощения;
-al[0..1] - включает/выключает просчет цены литерала даже при rep0 совпадении. По умолчанию: -al1;
-x[0..2] - включает медленные режимы работы парсера с просчетом (почти) всех длин найденного матча, а так же вариантов match+lit+rep0match. Очень медленно и беспощадно. А выгода очень небольшая. Проще -tt добавить; По умолчанию: -x0;​
Опции поиска совпадений (matchfinder):
-rt[0..2] - ЭТА ОПЦИЯ НА ДАННЫЙ МОМЕНТ НЕ РАБОТАЕТ. Задавала тип matchfinder'а - lz, rolz либо гибридный режим, однако rolz не оправдал ожиданий и все изменения я проводил без его учета его, поэтому он сейчас не работает; По умолчанию: -rt0;
-mc[2..1023] - Задает максимальное количество обходов бинарного дерева совпадений, после которого совпадения для данного положения больше не ищутся; По умолчанию: -mc128;​
Опции моделей:
-cm[0..1] - включает/выключает простой context mixer в некоторых критических местах, который смешивает по паре моделей в каждом месте. При включении улучшает сжатие, но замедляется распаковка. По умолчанию: -cm1;
-bc[0..8] - задает уровень влияния предыдущего байта на миксер; По умолчанию: -bc4;
-lm[0..4] - ЭТА ОПЦИЯ НА ДАННЫЙ МОМЕНТ НЕ РАБОТАЕТ. Задавала тип "элементарного" литерала. Сложные высоко-порядковые модели с cm показали себя не очень, поэтому их забросил, так же как и rolz. По умолчанию: -lm0;
-blo[0..8] - задает степень влияния предыдущего байта на кодирование верхней части литерала. По умолчанию: -blo8;
-bll[0..8] - задает степень влияния предыдущего байта на кодирование нижней части литерала. По умолчанию: -bll8;
-blr[0..8] - задает степень влияния rep0lit байта на кодирование верхней части литерала. По умолчанию: -blr4;
-bm[0..8] - задает степень влияния rep0lit байта на кодирование флага типа совпадения. По умолчанию: -bm4;
-pc[0..4] - задает позиционный контекст для всех операций кодирования. Автоматически игнорируется при включенном детекте. По умолчанию: -pc2;
-dmXY (X[0..3], Y[0..4]) - задает модель для кодирования пар цветов (X) и пар альфа-канала(Y). При максимальном значении каждого параметра используется адаптивное переключение между моделями, при чем скорость распаковки уменьшается, но и сжатие в большинстве случаев лучше. По умолчанию: -dm34;
-gmXY (X[0..2], Y[0..1]) - X - задает модель для кодирования raw графики. при максимальном значении включается адаптивное переключение между моделями. Однако в данном случае редко когда можно увидеть выигрыш у адаптивного режима. В основном лидирует 0 режим, но его распаковка в 2 раза медленнее 1го режима. Y - включает обновление статистики моделей когда они не использовались (например было длинное совпадение). Для X0 и X1 обычно дает небольшой выигрыш в сжатии, но скорость падает раза в 2(все зависит от данных). В общем самым оптимальным является -gm00, он же - и режим по умолчанию;
Автор
ProFrager
Скачивания
378
Просмотры
1,491
Первый выпуск
Обновление
Оценка
4.83 звёзд 6 оценок

Другие ресурсы пользователя ProFrager

Последние обновления

  1. lolz test22c4b

    исправил ошибку иногда возникающую в конце распаковки через фриарк.
  2. lolz test22c4

    реализовал ldmf(long distance match finder), который ищет совпадения вне диапазона словаря...
  3. lolz

    Исправил зависание при распаковке лишь одной папки через cls (опция -ap во фриарке). Изменения...

Последние рецензии

Very good tool. Provides very impressive compression.
Свежий шедевр в искусстве сжатия абстрактных цифровых данных.
На данный момент - лучший компрессор
Excellent compressor with fast speed
Profrager > Спасибо.
works fine now !
best compression with faster decompression.
Сверху