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.
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?
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:
cmix
não é o vencedor porque requer muita memória RAM, mais de 20GB) 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
Talvez você possa dar uma olhada nos pontos de referência , especialmente na parte que testa os computar arquivos .
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.
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.
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