ZIP vs. 7Z vs. ZSTD: Lopullinen vertailu reaalimaailman dataan

Viimeisin päivitys: 25/09/2025
Kirjoittaja: Isaac
  • ZIP, 7Z (LZMA2) ja ZSTD toimivat eri tavoin tavoitteesta riippuen: yhteensopivuus, suhde tai purkunopeus.
  • Tiedot osoittavat ZSTD:n olevan johtava dekompressioharjoitusten suorittaja ja erittäin kilpailukykyinen keskitason suhteellisesti.
  • Äärimmäiseen tallennustilaan käytä Zpaqia; työpöytäkoneeseen käytä 7Z:aa; yleiseen tallennustilaan käytä ZIPiä tai ZIP+ZSTD:tä (menetelmä 93).

Mitä on WinRAR Delta -pakkaus?

Valitse Postinumero, 7Z ja ZSTD Se vaikuttaa pieneltä ongelmalta, kunnes sinun on otettava käyttöön sovelluksia, lähetettävä varmuuskopioita päivittäin tai alennettava kustannuksia. varastointi ja kaistanleveys (katso miten pakata ja purkaa tiedostojaKäytännössä päätös muuttaa toimitusaikoja, suorittimen/RAM-muistin käyttöä ja jopa yhteensopivuutta kolmansien osapuolten työkalujen ja järjestelmien kanssa.

Tarkasteltuani useita vertailuarvoja todellisten tietojen ja hyvin erilaisten kontekstien avulla – 5,4 Gt:n .NET-tietojoukko käyttöönottoja varten, tekstikorpuksen läpi kulkeminen wikipedia 1 Gt:sta asti konttikuviin ja 28,7 Gt binääritiedostoa— kokonaiskuva paljastaa, milloin on tarkoituksenmukaista priorisoida suhdetta, missä dekompressionopeus ja mitä yhteensopivuusvaikutuksia sillä on (klassinen ZIP, ZIP ja ZSTD, 7Z ja LZMA2 tai vaihtoehtoiset koodekit jne.).

Mitä vertaamme ja miksi sillä on merkitystä

Olemme analysoineet eniten käytettyjä tuoteperheitä: ZIP (Tyhjennä), 7Z (LZMA/LZMA2) y ZSTDLisäksi he osallistuvat keskusteluun Brotli, XZ, bzip2, zpaq ja LZ4, koska tosielämässä se ei ole lähes koskaan puhdasta "kasvokkain tapahtuvaa" tapaamista. Esimerkiksi .NET-käyttöönotoissa tasapaino yhteensopivuus, suhde ja nopeus Se painaa eri tavalla kuin massavarmuuskopioissa tai pakkausjakelupaketeissa.

Kontekstisäännöt: jos haet vähimmäiskäyttöönottoaika ja kaikkialla läsnä olevaa tukea, et valitse samaa kuin yrittäessäsi minimoida tallennustilaa 15 varmuuskopiosta (ja jaa pakatut tiedostot) ja optimoida ulosmenokustannukset. Hyvä uutinen on, että nyt on saatavilla vertailukelpoisia lukuja ja selkeitä malleja, jotka auttavat sinua tekemään tietoon perustuvia päätöksiä.

Miten kukin muoto toimii (ja mitä se tarkoittaa käytännössä)

  • ZIP (Tyhjennä) Se yhdistää LZ77:n ja Huffmanin; se on konkari, kaikkialla läsnä oleva ja täysin yhteensopiva. Se ei yleensä voita pakkaussuhteessa tai nopeudessa verrattuna nykyaikaisiin vaihtoehtoihin, mutta avautuu missä tahansa (katso miten hallita selainlaajennuksia) ja sen toteutus on vakaa ja tunnettu. Perinteisellä ZIP-paketilla (menetelmä 8) oli historiallisia rajoituksia, vaikka nykyaikaiset pakkaajat voittavatkin monet näistä rajoituksista.
  • 7Z Se perustuu pääasiassa LZMA/LZMA2, erittäin hyvällä kuvasuhteella ja kypsillä työkaluilla. Lisäksi 7-Zip rinnakkaistaa hyvin ja sen "järkevät oletusarvot» saa sinut tuntemaan olosi ketteräksi. Se on tosiasiallisesti standardi työpöytä- ja kehitysympäristöissä, laaja tuki Windows, Linux ja macOS (joskus ulkoisten apuohjelmien avulla).
  • Z-standardi (ZSTD), luonut Facebook (2015), erottuu joukosta erittäin nopea dekompressio ja erittäin laaja tasovalikoima (1–22). Sen tavoitteena on suoriutua yhtä hyvin tai paremmin kuin Deflate ja lähestyä suhteeltaan LZMA:ta, yleensä nopeammalla suorituksella. Näemme sen integroituna BSD/Linux-ytimiin, pakettien pakkaus (esim. Arch Linux käyttää zstd-tasoa 20, joka purkaa pakkauksen 14 kertaa nopeammin kuin XZ ja jonka koko on vain +0,8 %) ja on yhä enemmän läsnä CI/CD-putkissa.

Muita tuntemisen arvoisia näyttelijöitä

  • Brotli, joka on suunniteltu verkkoa varten, pakkaa tekstisisältöä gzip-tiedostoa paremmin ja hyötyy sisällön koodaus selaimista. Sen pakkausvertailuarvo on yksisäikeinen, mikä vääristää aikavertailuja. oikea seinäkello jos kyseessä on monisäikeisiä koodekkeja, mutta rinnakkaisia ​​toteutuksia on olemassa. Palvelinympäristöissä virrankulutus Suoritinteho yhteensä (käyttäjä+järjestelmä) on merkityksellisempi kuin seinäkello.
  • XZ Parantaa LZMA:ta ja tarjoaa erinomaisen suhteen kustannuksella korkeat puristusajatSuurilla binääritiedostoilla se voi olla kilpailukykyinen, mutta sen purkunopeus jää usein ZSTD:n ja 7Z:n jälkeen. Monisäikeinen samanaikaisuus ja parametri -e (äärimmäinen) Ne parantavat kuvaa jonkin verran, vaikkakaan eivät ihmeitä tee.
  • bzip2/pbzip2 Ne tasapainottavat suhdetta ja suorittimen käyttöä enemmän tai vähemmän levyn keskellä. pbzip2 rinnakkaisuus saavutetaan. Monissa nykyaikaisissa tapauksissa ZSTD ja 7Z tarjoavat kuitenkin paremman kompromissit maailmanlaajuisesti.
  • zpaq onko hän "maastoajoneuvo, jolla on suurin välityssuhde» päiväkirjatyyppisellä inkrementaalisella pakkauksella; sen keskipisteenä on tavujen puristaminen, uhraten mielellään dekompressionopeusKylmävarmuuskopioille tämä saattaa olla hyvä idea; yleiseen käyttöön se ei ole.
  Windows 7 Elite Edition: Mikä se on ja miten se tuo takaisin Windows 11:n klassisen olemuksen

Vertailuarvot datan avulla: teksti, suuret binaarit ja käyttöönotot

7-zip

1) Tekstiaineisto (Wikipedia 1 GB)

Vertailun vuoksi ZIP (7zipin kautta), 7zip, XZ, Brotli, Zstandard, zpaq yli 1 Gt Wikipedia-tekstiä piirrettiin graafisesti aika vs. koko jokaisella tasolla. Kirjoittaja varoittaa: epätieteellinen näyttö ja Brotli-monofilamenttiviite rankaisee "todellisia" aikoja. Käyttäjä+järjestelmä -laskennassa tilanne paranee Brotlin kohdalla; ZSTD vaikuttaa erittäin kilpailukykyiseltä, purkautuminen erittäin nopeasti ja XZ/7zip-kiertoradan suhteilla suurilla jännityksillä.

Keskeiset havainnot: Postinumero jää jäljelle pakkaussuhteessa ja -ajassa; 7zip kehittyy kehittyneempien työkalujen ja monisäikeisyyden myötä; XZ parantaa suhdetta, mutta purkautuu hitaammin että ZSTD; ZSTD tasapainottuu fantastisesti lisättäessä ponnisteluja; ja zpaq saavuttaa parhaat suhdeluvut maksaa paljon aikaa, etenkin dekompressiossa.

2) PeaZipin "maksimaalisen pakkauksen" testi (Windows, i7-8565U)

PeaZipillä/WinRARilla, 303,0 Mt:n syöttötiedostolla ja viidellä toistolla testiä kohden nämä olivat keskiarvot (koot megatavuina; ajat sekunteina):

Formaatti Koko Suhde puristus Uuttaminen
Paras RAR (WinRar) 78,1 25,78% 28,5 1,8
7Z ultra (LZMA2) 71,2 23,50% 137,0 3,4
7Z Ultra Brotli 75,1 24,79% 208,0 0,8
7Z ultra Zstd 75,3 24,85% 300,0 1,2
7Z ultra BZip2 80,6 26,60% 81,0 7,1
ZPAQ ultra 57,6 19,01% 359,0 358,0

Conclusiones: ZPAQ Se voittaa puhtaassa suhteessa, mutta on erittäin hidas, jopa uuttaessaan. 7Z (LZMA2) tarjoaa hyvän suhteen ja kohtuullisen uuton. Käyttämällä Brotli/ZSTD:tä 7Z:n sisällä, uuttokärpäset (Brotli vielä enemmän) vastineeksi pidemmistä pakkausajoista kuin LZMA2:ssa ultrassa. RAR priorisoi puristusnopeus uhraamalla jonkin suhteen, ja jos tarvitset turvallisuutta, voit nähdä miten laita salasanat pakattuihin tiedostoihin.

3) Valtava 28,7 Gt:n binääritiedosto (Linux, Ryzen 5 5600G)

28,65–28,7 Gt:n kokoisella tiedostolla tavoitteena oli pakata mahdollisimman paljon ja verrata suhteita ja aikoja xz, pbzip2, 7z ja zstd:

  • xz-9e-T1212,6 GiB noin 15 minuutissa 49 sekunnissa (≈ 44,0 %)
  • pbzip2 -913,07 GiB noin 4 minuutissa 29 sekunnissa (≈ 44,55 %)
  • 7z -mx=912,9 GiB noin 16 minuutissa 43 sekunnissa (≈ 43,98 %)
  • zstd –ultra -22 -T1212,48 GiB noin 19 minuutissa 48 sekunnissa (≈ 43,57 %)

"Maksimaalisella puristuksella" ZSTD voitti niukasti kokoluokassa, mutta se kesti kauemmin. pbzip2 yllättynyt nopeudessa lähellä suhdetta. Tämä tapaus havainnollistaa, että erittäin suurilla binääreillä absoluuttiset erot gigatavuissa painavat yhtä paljon kuin suorittimen minuutit, ja on suositeltavaa kvantifioi molemmat.

4) Pelien ZIP-tiedostot (EU4) ja muuntaminen tar+brotlista ZIP-muotoon ZSTD:llä

Tosielämän esimerkkitapaus: EU4-tallennukset saapuvat kevyesti pakattuina ZIP-tiedostoina. Yritimme purkaa ja pakata ne uudelleen: uudelleenpakkaus Säästöt ~17 %. Muuttamalla koodekkia postinumeroalueella, tasokohtaiset luvut olivat:

menetelmä Vähennys Aika (ms)
zstd (3) 40% 463
zstd (5) 45% 755
zstd (7) 50% 1256
brotli (4) 32% 1481
brotli (9) 54% 4210

Lisäksi, WASM-hyötykuormat transkoodausta varten: ZSTD ~215 kB (136 kB, jos vain enkooderi), Brotli ~683 kBJäsennyksessä lasketaan välimuistista noutoaika ( sisällön koodaus Brotli-selain ei ole ilmainen), ZSTD ja Brotli olivat erittäin tasaväkisiä: Brotli jäsentää jonkin verran nopeammin, koska sitä ei pureta käyttäjätilaan; ZSTD Sen etuna on, ettei sisällön koodaukseen kosketa, ja se lukee levyltä kevyemmin.

  Windowsin .cpl-tiedostot: mitä ne ovat, mihin niitä käytetään ja miten ne toimivat

30 Mb/s lähetysnopeudella, transkoodauksen ja siirron integroinnilla tyypillisessä 7,7 Mt:n ZIP-tiedostossa: alkuperäinen 2,05 sekuntia; ZSTD-3 1,70 sekuntia; ZSTD-5 1,88 sekuntia; ZSTD-7 2,28 sekuntia. Käytännön suositus kallistui kohti ZSTD-taso 7 tallennustilan säästämiseksi (kun maksat ämpäristä), vaikka taso 3 on houkutteleva, jos priorisoit latenssia.

5) .NET-käyttöönotot (5,4 Gt julkaisua)

.NET-sovelluksen käyttöönottoskenaariossa, jossa on 5,4 Gt tulostuskapasiteettia (sekoitus itsenäistä ja framework-riippuvaa), käytännön ohje on selvä: valitse tavoitteen mukaanJos tavoittelet yleismaailmallista yhteensopivuutta, valitse klassinen ZIP; jos pullonkaula on dekompressio ja nopeus, ZSTD on vahva; jos haluat korkea suhde Kun CLI ja työkalut on yhdistetty, 7Z LZMA2:lla on edelleen voittoisa hevonen.

Dekompressio: kokemuksen huomattavin tekijä

Useat riippumattomat testit viittaavat siihen, ZSTD erillisenä luokkana dekompressiossa. Tekstipenkissä, kun katsot käyttäjä+järjestelmä On ymmärrettävää, miksi ZSTD on optimaalinen tiedostojärjestelmän pakkaamiseen (katso miten poista automaattinen pakkaus käytöstä) ja pakettien pakkaaminen: lukeminen on nopeaa ja suorittimen kustannukset ovat alhaiset. 7zip Se tarjoaa erittäin hyvän käyttökokemuksen, ja ero XZ:aan verrattuna selittyy enemmän apuohjelmilla ja monisäikeisyydellä kuin koodekkien taikuudella.

ZIP Se yllätti käyttäjä+järjestelmä -dekompressiomittarit, jotka olivat odotettua paremmat; jos yleisölläsi on vaatimattomia koneita tai työnkuluissa, joissa nopea uutto on etusijalla, älä hylkää sitä mittaamatta. ZPAQmuistuttaa puolestaan ​​profiilistaan: uskomaton suhdeluku, mutta erittäin pitkät uuttoajat, sopii kylmille kopioille.

Käyttötapaukset: Kuinka tehdä päätöksiä datan avulla (RAM, aika, suhde ja kustannukset)

Konttialustan tilanteessa, jossa sinun on tehtävä päivittäiset varmuuskopiot 30–100 kontin osalta käyttöbudjetti on tärkein tekijä. Ehdotettiin käytännönläheistä pisteytysjärjestelmää:

  • RAMTavoitteena on 200 Mt:n pakkaus ja 100 Mt:n purku saadaksesi 5 pistettä; jokaista 50 Mt:aa tai suurempaa tavoitetta kohden vähennä 1 piste.
  • Tiempo: 3 tunnin päivittäinen ikkuna kaiken puristamiseen; säiliötä kohden 6–1,8 minuuttia. Asteikolla >120 s antaa 0, jokainen -20 s lisää 1, <10 sekuntia on 5 pistettä dekompressiossa.
  • SuhdeKun objektien määrä on noin 1,6 Gt (esim. MariaDB+PHP+WordPress) ja tallennustila Backblaze/E2-tyyppisillä taustapalvelimilla on noin 6 dollaria/TB, ≥4:1-suhteen tavoittelu auttaa tulosten laskemisessa. uloskäynnin kustannukset (ole varovainen AWS:n kanssa, jonka lähtevät maksut ovat 0,09 dollaria/GB.

Testitasot, ZSTD-taso 3 saavutti ~3,5:1 ~3 sekunnissa 207 Mt RAM-muistilla; Brotli taso 6 saavutti suhteen ~4,3:1 ~30 sekunnissa hyvällä RAM-profiililla. Viritys ZSTD-viritys (strategia, searchLog, targetLength, minMatch) ei parantunut tarpeeksi ilman ajan tai muistin heikkenemistä; kyseisessä analyysissä Brotli taso 6 tuli esiin suosikiksi. Kummallista kyllä, Brotli taso 4 Se käytti enemmän muistia kuin 3/5, mutta saavutti tason 5 tallennustilan puolessa ajassa, mikä on erittäin houkutteleva vaihtoehto, jos 13 Mt lisätallennustilaa on saatavilla.

Jos tavoite muuttuu (esimerkiksi nopea käyttöönotto tai intensiivinen lukeminen), painotukset vaihtelevat ja ZSTD on yleensä tasapainoisin valinta sen ansiosta salaman purku ja kohtuulliset suhdeluvut keskimääräisellä tasolla.

ZIPin yhteensopivuus, tuki ja rooli ZSTD:n kanssa

Jotain tärkeää: ZIP-standardi sisällytetty ZSTD (menetelmä 93) spesifikaation 6.3.8 (2020) jälkeen. Tämä sallii "Elämän postinumero» modernilla koodekilla. Miten ekosysteemi tukee sitä? Nykyään Windows Explorer ei luo tai pura ZIP-tiedostoja ZSTD:llä; pääasiallinen 7-Zip integroi sen, ja toimivia haaraumia on jo olemassa. Linuxissa on p7zip-haaroituksia. Tilanne on paranemassa, mutta edelleen on kitkaa.

  WinDirStat-opetusohjelma: Analysoi ja vapauta tilaa Windowsissa

Jos käytät Total Commander, voit ottaa 7z-lukemisen käyttöön ZSTD:llä korvaamalla TCLZMA64.DLL yhteensopivien versioiden avulla (esim. 7-Zip ZS:n TotalCmd.7z-paketti). 7z-tiedostojen luomiseksi ZSTD:llä TC:n sisällä vanhemmat laajennukset eivät aina noudata valittua koodekkia ja käyttävät LZMA:a; on parempi käyttää 7-Zip ZS täydellinen tai Koodekkilaajennus olemassa olevaan 7-Zip-asennukseen. 7-Zip ZS:n avulla voit pakata/lataa Brotli, LZ4, Lizard, ZSTD 7z-säiliön sisällä ja käsittelyssä Postinumero + ZSTDTarkista 7z i mitkä koodekit ovat aktiivisia.

Selaimissa ja verkkoputkissa sisällön koodaus Brotli vaikuttaa "täysin ilmaiselta", mutta siinä on vivahteita: väliohjelmistot, välityspalvelimet ja kehykset (esim. erot debug-/tuotantotilan välillä Next.js:ssä) voivat tee pakkaus uudelleen tai lisätä viivettä. Esipakattujen striimien tarjoaminen ei myöskään ole aina suoraviivaista (Cloudflare Pages ei tue sitä suoraan). Useissa tosielämän tapauksissa striimien korvaaminen ZSTD postinumeroalueella ja käyttäjätilan purku vaikutti vähemmän riippuvuuksia ympäristöstä ja vastaavista tai paremmista tuloksista.

Hyödyllisiä parametreja ja suositeltuja tasoja

En ZSTDtasot 3, 5 ja 7 tarjoavat hyviä toimintapisteitä. Tutkimus, jossa transkoodaus ja siirto ylittivät 30 Mb/s:n nopeuden, osoitti 3-taso nopeimpana päästä päähän, mutta 7-taso Pelastin varastointi (EU4-maissa 12,5 % alle 5 ja 25 % alle 3). AWS Athena dokumentoi mieltymykset tasot 6–9 kun arvoa 3 ei käytetä oletusarvoisesti, mikä sopii yhteen kyseisen havainnon kanssa.

Kiusaus aktivoitua pitkän matkan yhteensovittaminen Se on totta, mutta ole varovainen: vaadit, että kenellä tahansa purkautuu paine, on sama muisti joka pakkasi. Käyttöönotoissa ja sovellukset asiakkaalle, tuo vaatimus voi olla mahdoton toteuttaa. Parempi pitää ikkunat ja pöydät kohtuullisten budjettien rajoissa.

En Brotli, tähtiasetus on yleensä tasoMuutos lgwin voi parantaa muistia ilman suuria parannuksia, jos olet jo korkealla. Havainto, että 4-taso 5-suhteen saavuttaminen puolessa ajassa – hieman suuremman RAM-muistin kustannuksella – on kultaa, kun haluat pienempi latenssi rankaisematta koosta liikaa.

että XZ, lippu -e käytä esiasetuksen hitaampia muunnelmia, jotka etsivät hieman suurempaa suhdetta. Manuaalitaulukot muistuttavat, että kompressorin muisti kasvaa, mutta dekompressori pysyy. Silti XZ yleensä häviää ZSTD:hen verrattuna dekompressio kun haluat avata paketteja nopeasti.

Jos olet riippuvainen Klassinen postinumero mutta haluat Deflaten maksimaalisen nopeuden, kirjastot kuten libdeflate Ne parantavat huomattavasti läpimenoaikaa verrattuna zlibiin. Rust-ekosysteemissä zip-rs Se ei vielä tee taustajärjestelmien vaihtamista helpoksi postinumeroalueita luotaessa, joten reitti ei välttämättä ole käytettävissä ilman lisätyötä.

Tiedostonsiirtonopeuden parantaminen Windows 11:ssä
Aiheeseen liittyvä artikkeli:
Tiedostonsiirron nopeuttaminen Windows 11:ssä: tärkeimmät temput ja säädöt