Nuo gzip ja bzip ovat kyllä yleisiä ja paljon käytettyjä ohjelmia ja ovat olleet pitkään olemassa (=luotettavia ja koeteltuja ohjelmia). Minusta ne ovat silti tekniikaltaan hieman vanhentuneita ja siksi suoraan sanoen hieman ärsyttää, kun niitä aina tuputetaan. Muistaakseni gzip käyttää samaa lz77 algoritmia kuin alkuperäinen zip-ohjelma (siis kun käyttis oli dos x.x ja ohjelmat olivat 16 bittisiä, muistatteko?). Työpuskuri taitaa olla 64k, joten se ei voi olla kovin tehokas isojen tiedostojen kanssa. On myös hidas (imho), mutta tämä nyt on tietysti suhteellista. Tuo bzip on sitten kyllä parempi pakkaamaan, mutta vielä paljon hitaampi kuin gzip.
Sen sijaan xz käyttää uudempaa lempel-ziv algoritmin sovellusta. Tässä oikeastaan pitäisi kai puhua samaan pakettiin kuuluvasta lzma komennosta, jos halutaan parametreiltaan gzip-ohjelmaa vastaava toiminto. Siinä on oletuksena ~100M puskuri ja tukee myös säikeitä. Pakkaa todella hyvin, mutta toisaalta on myös erittäin hidas.
Nopea pakkausta haluavan kannattaa tutustua lz4-ohjelmaan. Siinä on myös alkuperäisen lz algoritmin uudelleen tuunattu versio, mutta tällä kertaa viilaukset on tehty nopeus edellä. Osaa myös käyttää säikeitä. On huonompi pakkaaja kuin edellä mainitut, mutta kertaluokkaa nopeampi kuin gzip.
Mitä nää nyt sitten tarkoittaa käytännössä?
Riippuu tapauksesta, joten pitää vain kokeilla. Mulla sattui olemaan download hakemistossa Raspianin image-tiedosto, alkuperäinen zip on 1,7Gt, purettuna levy-image on 4,7Gt. Kokeilin pakata sen gzip-ohjelmalla. Tähän meni ~3 minuuttia, tuloksena 1,7Gt tiedosto. Seuraavaksi kokeilin lz4-ohjelmaa, meni ~10s ja tuli 2,2Gt tiedosto. Seuraavaksi lzma (xz), aikaa kului puolisen tuntia, tuloksena 1,3Gt tiedosto. Kun en ole masokisti, niin en jaksanut kokeilla bzip-ohjelmaa (se on todennäköisesti melkein yhtä hidas kuin lzma, mutta huonompi pakkaamaan).
Sekä lz4 että lzma ovat tuunattavissa komentoriviparametrein. Vertailun vuoksi, komento "lz4 -9" teki 2 minuutissa 1,9Gt tiedoston ja "lzma -3" teki 15 minuutissa 1,4Gt tiedoston. "lzma -9" tekisi varmasti pienimmän tiedoston, mutta veisi tunteja (en kokeillut).