Qual è la differenza tra gzip e compress? Quali sono i vantaggi dellutilizzo della funzione di compressione. Ho notato una differenza di dimensioni nel file compresso, ma a parte questo quali sono i vantaggi principali?
Commenti
Risposta
Compress è significativamente più vecchio (1983) e si basa sullalgoritmo di compressione LZW.
Gzip è stato scritto nei primi anni 90 ed è basato sullalgoritmo DEFLATE.
In generale Compress sarà più veloce e utilizzerà meno memoria, ma gzip raggiungerà generalmente livelli di compressione significativamente più alti .
Cerano anche problemi di brevetto con LZW che Unisys ha iniziato ad applicare allinizio degli anni 90 (questo era principalmente mirato al formato GIF che utilizzava anche la compressione LZW). Gli sviluppatori di gzip intendevano sviluppare un software di compressione per scopi generali che non fosse gravato da brevetti.
Risposta
TL; DR: usa gzip
Ho eseguito alcuni test per confrontare il livello di compressione, il tempo di compressione e il tempo di decompressione di 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
Il file è una mappa di uno stato tedesco, che comprime abbastanza bene (del 50% con un po di sforzo).
In breve:
-
compress
è più lento digzip -1
durante la compressione, - comprime anche solo la metà, ma
- è del 29% più veloce durante la decompressione.
Metodo di test: ho utilizzato un SSD inattivo e lI / O non era il collo di bottiglia. Ho utilizzato time cat file | compression > out
per la compressione e time cat file | decompression > /dev/null
per i tempi di decompressione. I test per gzip -1
e compress
sono stati eseguiti due volte (sia di compressione che di decompressione) e hanno dato risultati molto simili, di cui ho preso la media. Il gzip -9
tempo di compressione mi sono semplicemente dimenticato di misurare, ma poiché -1
si comprime già molto meglio di compress
Non penso che aggiungerebbe molto tornare indietro e farlo.
compress
è la tecnologia degli anni 80,gzip
anni 90,bzip2
00s,xz
10s.