Hva er forskjellen mellom gzip og komprimering? Hva er fordelene med å bruke komprimeringsfunksjon. Jeg kunne se en størrelsesforskjell i den komprimerte filen, men hva er de viktigste fordelene bortsett fra dette?
Kommentarer
Svar
Komprimering er betydelig eldre (1983) og basert på LZW-komprimeringsalgoritmen.
Gzip ble skrevet tidlig på 90-tallet og er basert på DEFLATE-algoritmen.
Generelt vil Compress kjøre raskere og bruke mindre minne, men gzip vil generelt nå betydelig høyere kompresjonsnivå .
Det var også patentproblemer med LZW som Unisys begynte å håndheve tidlig på 90-tallet (dette var hovedsakelig rettet mot GIF-formatet som også brukte LZW-komprimering). Gzip-utviklerne hadde til hensikt å utvikle komprimeringsprogramvare for generelle formål som ikke var patentbelagt.
Svar
TL; DR: bruk gzip
Jeg gjorde noen tester for å sammenligne kompresjonsnivå, kompresjonstid og dekompresjonstid på gzip
, compress
og 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
Filen er et kart over en tysk stat, som komprimerer ganske bra (med 50% med litt innsats).
Kort sagt:
-
compress
er langsommere enngzip -1
når du komprimerer, - komprimerer den bare halvparten også, men
- den er 29% raskere når du dekomprimerer.
Testmetode: Jeg brukte en inaktiv SSD og I / O var ikke flaskehalsen. Jeg brukte time cat file | compression > out
for komprimering og time cat file | decompression > /dev/null
for dekompresjonstider. Tester for gzip -1
og compress
ble kjørt to ganger (både komprimere og dekomprimere) og ga veldig like resultater, hvorav jeg tok gjennomsnittet. gzip -9
kompresjonstiden glemte jeg rett og slett å måle, men siden -1
allerede komprimerer mye bedre enn compress
Jeg tror ikke det vil gi mye å gå tilbake og gjøre det.
compress
er 80-talls teknologi,gzip
90-tallet,bzip2
00s,xz
10s.