Diferentes métodos de compactação no 7zip: Qual é o mais adequado para qual tarefa?

55

insira a descrição da imagem aqui

Portanto, existem diferentes métodos de compactação no 7zip. Qual método é mais adequado para qual tarefa?

Por exemplo: Uma diferença entre LZMA e LZMA2 é que eu posso escolher todos os meus núcleos de CPU, enquanto que no LZMA 2 núcleos é o máximo.

Urso mal-humorado
fonte
11
benchmarks de algoritmos de compressão: compressionratings.com/sort.cgi?rating_sum.brief+4n
akira
O link @akira leva agora para um domínio estacionado.
Serious

Respostas:

23

Use o LZMA 2, a menos que você esteja procurando extrair o arquivo morto em um sistema que não pode lidar com arquivos LZMA2.

De um modo geral, a maioria dos algoritmos de compactação modernos fornece aproximadamente a mesma compactação e, com relação ao número de núcleos que você pode usar de uma só vez, cabe a você decidir quantos deseja usar. De um modo geral (a menos que você esteja criando arquivos grandes), não há razão para precisar de mais de um. Além disso, com vários núcleos fazendo a compactação, o gargalo pode se tornar o disco rígido.

soandos
fonte
3
observação: os melhores resultados de compactação ("ultra") são comprados principalmente por CPU e (importante) RAM. lzma2-ultra-dictsize (64mb) -4threads comerão 2 + gb de ram, bzip2-ultra-dictsize (900kb) comerá 69mb de ram.
akira
13

O Lzma2 é mais rápido ao usar 4 ou mais núcleos e oferece melhor compactação. Este documento explica tudo.

Sério
fonte
5
Não estou dizendo que o documento é inutilizável, mas tem vários problemas. De maneira proeminente, o autor nem sequer especifica que tipo de dados está sendo compactado (texto? Imagens? Dados criptografados?), Não usa tamanhos relativos, quando aplicável, e parece não entender completamente arquivos sólidos .
Mafu
2

O 7-Zip (pelo menos a partir de 2019-09-27) possui um documento de Ajuda interno com uma explicação muito boa das várias configurações que você pode escolher e para que, em geral, cada uma é adequada.

Não há resultados de benchmark nem nada, mas foram informações suficientes para incutir em mim uma certa confiança de que eu estava escolhendo configurações "boas o suficiente" e não "acidentalmente horríveis".

O documento da Ajuda está disponível no Gerenciador de arquivos 7-Zip, bem como na caixa de diálogo Adicionar ao arquivo morto.

O caminho "Conteúdo" para a página que eu achei útil (que é aberto diretamente na caixa de diálogo Adicionar ao arquivo morto) é:

File Manager / Plugins / 7-Zip / Add to Archive Dialog Box

insira a descrição da imagem aqui

Aqui está uma cópia / pasta aproximada da seção do método de compactação:

Descrição do método

  • LZMA
    • É o método de compactação básica para o formato 7z. Até versões antigas do 7-Zip podem descomprimir arquivos criados com o método LZMA. Ele fornece alta taxa de compressão e descompressão muito rápida.
  • LZMA2
    • Método de compactação padrão do formato 7z. LZMA2 é o método de compactação baseado em LZMA. Ele fornece melhor suporte a multithreading que o LZMA. Mas a taxa de compressão pode ser pior em alguns casos. Para obter a melhor taxa de compactação com o LZMA2, use 1 ou 2 threads da CPU. Se você usar o LZMA2 com mais de 2 threads, o 7-zip divide os dados em pedaços e os comprime de forma independente (2 threads por cada pedaço).
  • PPMd
    • O algoritmo PPMdH de Dmitry Shkarin com pequenas alterações. Geralmente fornece alta taxa de compactação e alta velocidade para arquivos de texto.
  • BZip2
    • Método de compressão padrão baseado no algoritmo BWT. Geralmente, ele fornece alta velocidade e taxa de compactação bastante boa para arquivos de texto.
  • Desinflar
    • Método de compactação padrão dos formatos ZIP e GZip. A taxa de compressão não é muito alta. Mas fornece compressão e descompressão muito rápidas. O método Deflate suporta apenas o dicionário de 32 KB.
  • Deflate64
    • Versão modificada do algoritmo Deflate com dicionário maior (64 KB).
William
fonte