Kirjoittaja Aihe: Pieni pakkauskoe  (Luettu 2660 kertaa)

SuperOscar

  • Käyttäjä
  • Viestejä: 4060
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Pieni pakkauskoe
« : 31.08.21 - klo:21.47 »
Törmäsinpä taas johonkuhun, joka ihmetteli, miksi ihmiset yhä käyttävät Gzipiä vaikka paljon tehokkaampiakin pakkausohjelmia on olemassa. Päätin tehdä pienen kokeen.

Oma tiedostokansioni, jonka kopioin aina koneelta toiselle, on nykykoossaan 2,6 GiB. Siinä on kaikenlaisia tiedostoja: tekstiä, kuvia, ääntä jne. eli se on aika hyvä tosielämän esimerkki eikä mitään tarvetta varten luotua satunnaisdataa. Pakkasin kaikki tar’illa eri pakkausmuotoihin.

Tulokset:

  • .tar.gz: 1,9 GiB, aika 1:53,17
  • .tar.bz2: 1,8 GiB, aika 10:42,55
  • .tar.xz: 1,6 GiB, aika 16:45,84

Minusta on aika selvä, miksi Gzipiä käytetään. Pakkaustehokkuus ei juurikaan parane mutta aikaa haaskaantuu moninkertaisesti enemmän noilla muilla. Niistä on luultavasti hyötyä lähinnä, kun tiedoston pienellä koolla on oikeasti väliä.
« Viimeksi muokattu: 31.08.21 - klo:22.06 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

SuperOscar

  • Käyttäjä
  • Viestejä: 4060
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Pieni pakkauskoe
« Vastaus #1 : 31.08.21 - klo:22.05 »
Päätin lisätä kokeilun zstd:llä, vaikkei tar’issa ole siihen omaa vipuaan; -I-valitsimella voi kuitenkin määrätä käytettävän pakkausohjelman.

Aika yllättävä tulos: ylivoimaisesti nopein, 17,33 s, ja Bzip2:n tasoa pakkaustehossa, 1,8 GiB.

Tosin tänään Bzip2:kin hoiti homman ajassa 6:52,31. Sama kone mutta tietysti vähän erilaiset olosuhteet. Luultavasti oikeammat testitulokset saisi konsolissa kuin GUIssa jnpp.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

juyli

  • Käyttäjä / moderaattori
  • Viestejä: 1200
    • Profiili
Vs: Pieni pakkauskoe
« Vastaus #2 : 31.08.21 - klo:23.50 »
Törmäsinpä taas johonkuhun, joka ihmetteli, miksi ihmiset yhä käyttävät Gzipiä vaikka paljon tehokkaampiakin pakkausohjelmia on olemassa.
Joskus aikanaan tiedonsiirto oli hidasta ja kallista. Tuolloin oli tarkoituksen mukaista pakata tiedostot mahdollisimman tiiviiksi esim. tiedostopalvelimilla - aika paketin tiivistämiseksi ei maksanut lähettäjälle tai paketin saajalle paketin purkamiselle omalla koneella erityisesti.
Vaikka meille useimmille ei imurointiaika erityisempiä maksaisikaan, voi yhä olla yhteyksiä, joille yhteys maksaa siirrettyjen bittien mukaan.

PS. Bzip lienee nykyisin yleisin paketointi esim. Linux-päivityksissä.
« Viimeksi muokattu: 31.08.21 - klo:23.52 kirjoittanut juyli »

SuperOscar

  • Käyttäjä
  • Viestejä: 4060
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Pieni pakkauskoe
« Vastaus #3 : 01.09.21 - klo:10.15 »
PS. Bzip lienee nykyisin yleisin paketointi esim. Linux-päivityksissä.

Ettei ole jo XZ? Ainakin on tullut enemmän vastaan.

Linux-paketoinnissa tehokkaan pakkauksen ymmärtääkin. Pakkaus- ja purkuaika ei ole kauhean oleellinen, mutta taltioitavien ja siirrettävien tiedostojen koolla on väliä.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Pieni pakkauskoe
« Vastaus #4 : 04.09.21 - klo:15.58 »
PS. Bzip lienee nykyisin yleisin paketointi esim. Linux-päivityksissä.

Ettei ole jo XZ? Ainakin on tullut enemmän vastaan.

Linux-paketoinnissa tehokkaan pakkauksen ymmärtääkin. Pakkaus- ja purkuaika ei ole kauhean oleellinen, mutta taltioitavien ja siirrettävien tiedostojen koolla on väliä.

Bzip2 on hyvin yleinen lähdekoodissa. xz myös hyvin yleinen. Itsellä dar xz oli hyvin hidas suurimmalla pakkausteholla. On noin 10% tehokkaampi mitä äsken vilkaisin. kernelin lähdekoodissa gz ja xz pakettien kokoero on melkoinen. Millä optiolla tuo xz paketti tehty. Itsellä kai jotain vikaa kun en jaksanut odottaa valmista koska noin 15G systeemi kopioituu xz pakkauksella.

SuperOscar

  • Käyttäjä
  • Viestejä: 4060
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Pieni pakkauskoe
« Vastaus #5 : 04.09.21 - klo:20.41 »
Millä optiolla tuo xz paketti tehty.

Tarkoitatko minun koettani? En yrittänytkään säätää pakkausta mitenkään eli ”tar czf”, ”tar cjf” ja ”tar cJf” olivat komennot.

zstd oli tosiaan ylivoimaisesti nopein ja pakkausteholtaankin Bzip2:n veroinen. Toistaiseksi ongelma on kuitenkin se, ettei se esim. openSUSEssa kuulu perusasennukseen eikä tarissakaan ole sille lyhyttä (ts. yhden kirjaimen) vipua.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

jarmala

  • Käyttäjä
  • Viestejä: 789
    • Profiili
Vs: Pieni pakkauskoe
« Vastaus #6 : 05.09.21 - klo:02.12 »
Päätin lisätä kokeilun zstd:llä, vaikkei tar’issa ole siihen omaa vipuaan;

Mikä oli komentosi?
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB
Ubuntu 22.04 LTS, KDE Plasma, Celeron N5105, 8 GB

SuperOscar

  • Käyttäjä
  • Viestejä: 4060
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Pieni pakkauskoe
« Vastaus #7 : 05.09.21 - klo:13.09 »
Mikä oli komentosi?

tar c -I zstd -f, noin ulkomuistista.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11