Hvad er forskellen mellem gzip og komprimering? Hvad er fordelene ved at bruge komprimeringsfunktion. Jeg kunne se en størrelsesforskel i den komprimerede fil, men bortset fra dette, hvad er de største fordele?

Kommentarer

  • compress er 80ers teknologi, gzip 90erne, bzip2 00s, xz 10s.

Svar

Komprimering er betydeligt ældre (1983) og baseret på LZW-komprimeringsalgoritmen.

Gzip blev skrevet i de tidlige 90ere og er baseret på DEFLATE-algoritmen.

Generelt kører Compress hurtigere og bruger mindre hukommelse, men gzip når generelt væsentligt højere komprimeringsniveauer .

Der var også patentproblemer med LZW, som Unisys begyndte at håndhæve i de tidlige 90ere (dette var hovedsageligt målrettet mod GIF-formatet, der også brugte LZW-komprimering). Gzip-udviklerne havde til hensigt at udvikle komprimeringssoftware til generelle formål, der ikke var patenteret.

Svar

TL; DR: brug gzip

Jeg lavede nogle tests for at sammenligne kompressionsniveau, kompressionstid og dekompressionstid for 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 kort over en tysk stat, som komprimerer temmelig godt (med 50% med lidt indsats).

Kort sagt:

  • compress er langsommere end gzip -1 ved komprimering,
  • komprimerer den kun halvt så godt, men
  • den er 29% hurtigere, når dekomprimering.

Testmetode: Jeg brugte en ledig SSD, og I / O var ikke flaskehalsen. Jeg brugte time cat file | compression > out til komprimering og time cat file | decompression > /dev/null til dekompressionstider. Test for gzip -1 og compress blev kørt to gange (både komprimere og dekomprimere) og gav meget lignende resultater, hvoraf jeg tog gennemsnittet. gzip -9 kompressionstid glemte jeg simpelthen at måle, men da -1 allerede komprimerer meget bedre end compress Jeg tror ikke, det ville tilføje meget at gå tilbage og gøre det.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *