níveis de compressão gz e xz

1

Por que não há diferença (tamanho do arquivo de saída) com essas linhas de comando?

Gzip stdin

Os arquivos de saída têm o mesmo tamanho de arquivo, embora os níveis de compactação sejam diferentes

tar ... | gzip -c -1 > ...
tar ... | gzip -c -9 > ...

xz stdin

Os arquivos de saída têm o mesmo tamanho de arquivo, embora os níveis de compactação sejam diferentes

tar ... | xz -c -1 > ...
tar ... | xz -c -9 > ...

Gzip

Os arquivos de saída têm o mesmo tamanho de arquivo, embora os níveis de compactação sejam diferentes

GZ_OPT=-1 tar -zcf ...
GZ_OPT=-9 tar -zcf ...

xz

Os arquivos de saída têm o mesmo tamanho de arquivo, embora os níveis de compactação sejam diferentes

XZ_OPT=-1 tar -Jcf ...
XZ_OPT=-9 tar -Jcf ...
    
por clarkk 25.12.2015 / 20:43

1 resposta

4

O nível de compactação gzip não garante que níveis mais altos de compactação resultem em saída menor. Na verdade, a seção BUGS do meu man gzip observa que, em alguns casos, pode ser o oposto.

Para xz (e bzip2), isso é ainda mais documentado, já que, de acordo com o manual, o nível numérico controla a quantidade de memória usada pelo compressor. Usando mais memória é suposto para fazer uma melhor compressão, mas novamente isso não é garantido.

Especialmente se seus dados de teste são pequenos, não é surpreendente para mim ter o mesmo tamanho de tamanho.

    
por 26.12.2015 / 10:12

Tags