4

7-zip имеет переключатель командной строки для установки метода сжатия, -m за которым следует число, например
-m0=LZMA .

Что означает число (0 в примере)? Разные числа дают немного разные результаты сжатия и производительность:

Parameters                      Wall    User    System
-m0=LZMA -mx=9 -ms=on -mmt=off  28.4    27.48   0.85
-m1=LZMA -mx=9 -ms=on -mmt=off  27.45   33.06   0.90
-m0=LZMA -mx=9 -ms=on -mmt=on   12.74   24.39   1.14
-m1=LZMA -mx=9 -ms=on -mmt=on   15.08   33.14   1.28
-m0=LZMA -mx=9 -ms=on -mmt=off  26.5    25.58   0.65
-m1=LZMA -mx=9 -ms=on -mmt=off  27.07   32.84   0.87
-m0=LZMA -mx=9 -ms=on -mmt=on   13.27   24.99   1.00
-m1=LZMA -mx=9 -ms=on -mmt=on   15.32   33.28   1.47

1 ответ1

1

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

Это пример из документации:

7z a a.7z *.exe *.dll \
    -m0=BCJ2 -m1=LZMA:d25 -m2=LZMA:d19 -m3=LZMA:d19 \
    -mb0:1 -mb0s1:2 -mb0s2:3

добавляет файлы * .exe и * .dll в архив a.7z с использованием фильтра BCJ2, LZMA со словарем 32 МБ для основного выходного потока (s0) и LZMA со словарем 512 КБ для потоков вывода s1 и s2 BCJ2.

Первое сжатие - это наименьшее число, которое равно нулю. В этом примере ноль установлен на BCJ2. Затем идет тот, который является LZMA. Два и три также LZMA, но они используют разные параметры d .

Опция -mb используется для "привязки" выхода одного сжатия к входу другого. В этом примере BCJ2 имеет один вход и четыре выхода. Выходной ноль идет к сжатию номер один. Выход один собирается на сжатие номер два. Выход два идет на сжатие номер три. Выход три не связан (потому что его не нужно снова сжимать).


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

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