O que significa o número após a mudança de 7-zip's -m?

4

O 7-zip tem um parâmetro de linha de comando para definir o método de compactação, -m seguido por um número, por exemplo, -m0=LZMA .

O que significa o número ( 0 no exemplo)? Números diferentes produzem resultados de compactação e desempenho ligeiramente diferentes:

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
    
por AndreKR 25.10.2013 / 05:50

1 resposta

1

Esse número permite definir a ordem das operações de compactação se você estiver usando mais de uma vez.

Este é um exemplo da documentação:

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

adds *.exe and *.dll files to archive a.7z using BCJ2 filter, LZMA with 32 MB dictionary for main output stream (s0), and LZMA with 512 KB dictionary for s1 and s2 output streams of BCJ2.

A primeira compactação é o menor número, que é zero. Neste exemplo, zero é definido como BCJ2. Então vem um, que é o LZMA. Dois e três também são LZMA, mas estão usando diferentes parâmetros d .

A opção -mb é usada para "vincular" a saída de uma compactação à entrada de outra. Neste exemplo, BCJ2 tem uma entrada e quatro saídas. Saída zero vai para a compressão número um. A saída um vai para a compressão número dois. A saída dois vai para a compressão número três. A saída três não está vinculada (porque não precisa ser compactada novamente).

Nos seus exemplos, eles estão usando apenas uma operação de compactação, portanto, não importa qual número você atribui a ela.

    
por 25.10.2013 / 06:51