gzip
i xz
używa dwóch różnych algorytmów i dlatego działają one inaczej, zarówno pod względem osiągniętego poziomu kompresji, jak i ilości zasobów, które zużywają podczas kompresji lub dekompresji.
Ogólnie ogólnie , xz
osiąga wyższe współczynniki kompresji, ale potrzebuje dużo więcej pamięci i czasu.
Osobiście użyj xz
do archiwizacji danych; duże pliki, które muszę odkładać przez długi czas. W innym przypadku używam gzip
, ponieważ jest to zwykle szybsze.
Przetestuj oba i zobacz, jak sobie radzą na Twojej średniej tar
(lub jakikolwiek inny) plik.
xz
stał się trochę standardem, jeśli chodzi o zarządzanie pakietami w ostatnich latach.
algorytm kompresji LZMA2 xz
jest wyjątkowo wydajne w przypadku danych tekstowych (i danych „tekstowych”). Osobiście używam ich do prawie wszystkiego, gdzie szybkość kodowania obliczeniowego nie jest problemem (xz
dekompresuje dużo szybciej niż kompresja, jest to właściwie jeden z jego celów projektowych).
Więc jest świetny do takich rzeczy jak archiwizacja lub tworzenie kopii zapasowych (ogólnie rzecz biorąc, pliki, które są często dekompresowane, ale gdzie dane nie są kompresowane przez cały czas, zmieniane itp.). To nie jest taka świetna decyzja w przypadku kompresji strumienia – przynajmniej nie tak często, ponieważ LZMA2 nie jest zbyt lekka na zasoby podczas kompresji.
Ale chciałbym skomentować jeszcze jedno stwierdzenie twojego: „powinien”. To, czego powinieneś lub nie używać, zależy od tego, do czego potrzebujesz swoich danych. Nawet jeśli xz
i LZMA2 istnieją od lat, ludzie nadal rozważają kompresję za pomocą gz
jako rozwiązania awaryjnego ze względu na kompatybilność. Na przykład Trac lub cgit oferta .tar.gz
, .7z
i .tar.xz
. Z opcją .tar.gz
, ponieważ istnieje „od zawsze” i to ” to dobry środek zaradczy na dowolnym urządzeniu, nieważne jak minimalny lub stary.
Jako kontrprzykład: lzop
to szybki i oszczędzający zasoby kompresor, który jest często używany w statkach kosmicznych, ale poza tym nie jest zbyt wydajny. Nie mogę jednak powiedzieć, że nie jest to powszechnie używane. Jest często używany w systemach, w których ważniejsze jest szybkie skompresowanie czegoś przy niewielkiej mocy i przestrzeni obliczeniowej.
Zatem to, co powinieneś lub czego nie powinieneś używać, jest dla ciebie najbardziej sensowne i ludzi wchodzących w interakcję z Twoimi danymi.
Jedna rzecz, która niedawno przyszła mi do głowy: man
strony są rutynowo kompresowane za pomocą gzip
. Jeśli na przykład spojrzysz na /usr/share/man/man1/
, „zobaczysz wiele plików podobnych do mv.1.gz
, jeśli nie wszystkie z nich są skompresowane . Teraz prawdopodobnie sensowne byłoby przejście na pliki .xz
ze względu na lepszą kompresję, ale przyrost miejsca jest minimalny w porównaniu z negatywnymi skutkami porzucenia .gz
dla .xz
. Powodem tego jest prawie uniwersalna zgodność. Nawet otwieranie .gz
plików skompresowanych bezpośrednio w Vim działa dobrze i działa jako przezroczysta kompresja.