Jaka jest różnica między gzip i compress? Jakie są zalety korzystania z funkcji kompresji. Widziałem różnicę rozmiaru w skompresowanym pliku, ale poza tym jakie są główne zalety?
Komentarze
Odpowiedź
Kompresja jest znacznie starsza (1983) i oparta na algorytmie kompresji LZW.
Gzip został napisany we wczesnych latach 90-tych i jest oparty na algorytmie DEFLATE.
Ogólnie Compress będzie działał szybciej i zużywał mniej pamięci, ale gzip generalnie osiąga znacznie wyższy poziom kompresji .
Pojawiły się również problemy patentowe z LZW, które Unisys zaczął wprowadzać na początku lat 90-tych (dotyczyło to głównie formatu GIF, który również używał kompresji LZW). Programiści gzip zamierzali opracować oprogramowanie do kompresji ogólnego przeznaczenia, które nie było obciążone patentami.
Odpowiedź
TL; DR: użyj gzip
Przeprowadziłem kilka testów, aby porównać poziom kompresji, czas kompresji i czas dekompresji gzip
, compress
i 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
Plik jest mapą niemieckiego kraju związkowego, która kompresuje całkiem nieźle (o 50% przy odrobinie wysiłku).
Krótko mówiąc:
-
compress
jest wolniejsze niżgzip -1
podczas kompresji, - kompresuje tylko o połowę, ale
- jest o 29% szybszy podczas dekompresji.
Metoda testowa: Użyłem bezczynnego dysku SSD i I / O nie było wąskim gardłem. Użyłem time cat file | compression > out
do kompresji i time cat file | decompression > /dev/null
do czasów dekompresji. Testy dla gzip -1
i compress
zostały przeprowadzone dwukrotnie (zarówno kompresja, jak i dekompresja) i dały bardzo podobne wyniki, z których uzyskałem średnią. Czas kompresji gzip -9
po prostu zapomniałem zmierzyć, ale ponieważ -1
już kompresuje znacznie lepiej niż compress
Nie sądzę, żeby to wiele dodało, żeby wrócić i zrobić to.
compress
to technologia lat 80-tych,gzip
90-tych,bzip2
pierwsza dekada XXI wieku,xz
10s.