Que método de arquivamento é melhor para compactar arquivos de texto no Linux?

13

No meu aplicativo, preciso compactar logs que são arquivos de texto.

Parece que bzip2 e gzip têm a mesma taxa de compactação.

Isso está correto?

    
por user710818 01.12.2011 / 13:33

6 respostas

4

Normalmente, o bz2 tem uma melhor taxa de compactação, combinada com melhores recursos de recuperação.

OTOH, gz é mais rápido.

xz é dito ser ainda melhor que bz2, mas eu não sei o comportamento de tempo.

    
por 01.12.2011 / 13:47
5

A última atualização de maximumcompression.com é de junho de 2011 (resposta atualizada em out / 2015) < br> Portanto, este site não menciona
o compressor de texto campeão em todo o mundo :

cmix

Competições / benchmarks:

Detalhes:
Byron Knoll está ativamente desenvolvendo cmix como software livre (GPL) desde 2013 com base no livro Compressão de dados explicado por Matt Mahoney . Matt Mahoney também mantém alguns dos benchmarks acima e propõe ZPAQ ( WP ), um arquivador incremental de linha de comando.

Se você preferir uma ferramenta mais padrão (exigindo menos RAM), recomendo:

lrzip

lrzip é uma evolução de rzip por Con Kolivas .
lrzip significa dois nomes: ZIP de Longo Alcance e Lzma RZIP . < br> lrzip geralmente é melhor que xz (outra ferramenta de compressão popular). Alexander Riccio também recomenda lrzip .

Meu favorito é:

zpaq

O "especialista em arquivadores" , Matt Mahoney , trabalhou intensamente em PAQ algoritmos há dez anos e oferecem o melhor compromisso entre os recursos da CPU / memória e o nível de compactação.

No entanto, a última zpaq versão geralmente não é empacotada / disponível na distro recente :-(
Eu sempre compilo de fontes quando tenho uma máquina nova e preciso de um compressor muito bom: link

clone https://github.com/zpaq/zpaq
cd zpaq
g++ -O3 -march=native -Dunix zpaq.cpp libzpaq.cpp -pthread -o zpaq
    
por 19.10.2014 / 23:48
4

Talvez você possa dar uma olhada nos pontos de referência , especialmente na parte que testa os computar arquivos .

    
por 01.12.2011 / 14:00
0

O bz2 tem compressão mais apertada, o algoritmo tem mais opções para procurar redundância para compactar.

O gzip está em muito mais ferramentas e é mais multiplataforma. Mais ferramentas do Windows podem lidar com arquivos .gz. Faz parte do http, por isso mesmo os navegadores da Web podem entendê-lo.

No linux, existem ferramentas que permitem trabalhar diretamente em arquivos compactados. O zgrep e o bzgrep podem pesquisar em arquivos compactados.

Se apenas no Linux, eu usaria o bzip2, para as taxas de compactação um pouco melhores.

    
por 01.12.2011 / 16:43
0
O

xz comprime muito melhor que o bz2, mas leva mais tempo. Portanto, se a compactação máxima é o seu objetivo e o espaço em seu disco rígido é um prêmio (o que é o meu caso com uma unidade com 98% de total - enquanto reorganizo meus sistemas de arquivos) e você pode disparar um script para fazer o trabalho - faça uma pausa e volte em 5 minutos.

O unxz é muito rápido para descomprimir na minha experiência - o que é uma coisa boa para mim diariamente.

bz2 é mais rápido para compactar que xz, mas não parece alcançar os resultados de compressão de xz.

A única maneira de fazer essas avaliações é executar comparações de mercado com uma combinação de arquivos comuns que você normalmente comprimiria / descomprimir e variar os parâmetros para ver o que aparece no topo.

    
por 01.12.2011 / 18:20
0

Eu fiz uma referência para testar a compactação do seguinte:
pasta de 204MB (com arquivos de 1.600 html) resultados

7zip =>     2.38 MB
winrar =>   49.5 MB
zip =>      50.8 MB
gzip =>     51.9 MB

então o 7zip é o melhor entre eles você pode obtê-lo aqui link

    
por 21.11.2015 / 12:22