Qual é a diferença entre gzip e compress? Quais são as vantagens de usar a função de compressão. Eu pude ver uma diferença de tamanho no arquivo compactado, mas além disso, quais são as principais vantagens?
Comentários
Resposta
A compactação é significativamente mais antiga (1983) e baseada no algoritmo de compactação LZW.
O Gzip foi escrito no início dos anos 90 e é baseado no algoritmo DEFLATE.
Em geral, o Compress será executado mais rápido e usará menos memória, mas o gzip geralmente atingirá níveis significativamente mais altos de compactação .
Também havia problemas de patente com o LZW que a Unisys começou a impor no início dos anos 90 (isso era principalmente voltado para o formato GIF que também usava compactação LZW). Os desenvolvedores do gzip pretendiam desenvolver software de compactação de propósito geral que não fosse onerado por patentes.
Resposta
TL; DR: use gzip
Eu fiz alguns testes para comparar o nível de compressão, tempo de compressão e tempo de descompressão de gzip
, compress
e xz
:
File size | Percentage of original size | | Time to compress | | | Time to decompress | | | | Method | | | | | Filename 425M 100% - - - Germany_hessen_europe_2.obf 348M 82% 16.8 3.24 compress test.Z 260M 61% 11.8 4.18 gzip -1 test.1.gz 246M 58% n/a 3.88 gzip -9 test.9.gz 226M 53% 69.6 15.6 xz -1 test.1.xz
O arquivo é um mapa de um estado alemão, que compacta muito bem (em 50% com um pouco de esforço).
Resumindo:
-
compress
é mais lento quegzip -1
ao compactar, - ele compacta apenas a metade, mas
- é 29% mais rápido ao descompactar.
Método de teste: usei um SSD ocioso e o I / O não foi o gargalo. Usei time cat file | compression > out
para compactação e time cat file | decompression > /dev/null
para tempos de descompressão. Os testes para gzip -1
e compress
foram executados duas vezes (compactação e descompactação) e deram resultados muito semelhantes, dos quais tirei a média. O gzip -9
tempo de compressão simplesmente esqueci de medir, mas como -1
já comprime muito melhor do que compress
Acho que não acrescentaria muito voltar e fazer isso.
compress
é tecnologia dos anos 80,gzip
90,bzip2
00s,xz
10s.