lt.phhsnews.com


lt.phhsnews.com / Kodėl "Zip" sugeba suspausti atskirus failus geriau nei kelis failus su tuo pačiu turiniu?

Kodėl "Zip" sugeba suspausti atskirus failus geriau nei kelis failus su tuo pačiu turiniu?


Galimybė suspausti failus, kad juos būtų lengviau dalytis ir / ar juos transportuoti, gali padaryti mūsų elektroninis gyvenimas daug lengviau, bet kartais mes galime matyti keistą ar netikėtą dydį, kai suspaudžiame juos. Kodėl tai? Šiandieninė "SuperUser" Q & A ataskaita turi atsakymus į supainioti skaitytojo klausimus.

Šiandienos klausimų ir atsakymų sesija ateina pas mus "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A svetainių grupės, padalijimas.

Nuotrauka mandagumo Jean-Etienne Minh-Duy Poirrier (Flickr).

Klausimas

SuperUser skaitytuvas sixtyfootersdude nori sužinoti, kodėl zip sugeba suspausti atskirus failus geriau nei kelis failus su tokio paties turinio tipu:

Tarkime, kad aš turėsite 10 000 XML rinkmenų ir norite jas išsiųsti draugei. Prieš siųsdami juos, aš norėčiau juos suspausti.

1 būdas: nesupriešinkite jų

Rezultatai:

2 būdas: kiekvieną failą atspausdinkite ir išsiųskite 10 000 ZIP failų

komandų:

Rezultatai:

3 metodas: sukurkite vieną zip failą, kuriame yra visi 10 000 XML failų

Komanda:

Rezultatai:

4 metodas: sujungiami failai į vieną failą ir zip

Rezultatai:

Klausimai

  • Kodėl aš gaunu tokius žymiai geresnius rezultatus, kai aš tik prisegščiau vieną failą?
  • Tikėčiau gauti geresnių rezultatų naudojant metodą 3, o ne 2 metodą, bet aš nereikia. Kodėl tai?
  • Ar ši elgsena būdinga zip? Jei aš bandžiau naudoti "Gzip", aš galėčiau gauti skirtingus rezultatus?

Papildoma informacija

Meta duomenys

Vienas iš pateiktų atsakymų rodo, kad skirtumas yra sistemos metaduomenys, kurie saugomi zip faile. Nemanau, kad taip gali būti. Norėdami tai išbandyti, aš padariau šį:

Gautas zip failas yra 1,4 MB. Tai reiškia, kad vis dar yra maždaug dešimt MB nepateisinamų erdvių.

Kodėl "Zip" gali suspausti atskirus failus geriau nei kelis failus su tokio paties tipo turiniu?

"Answer"

"SuperUser" autoriai Alanas Shutko ir Aganju turi atsakymas mums. Pirmiausia Alan Shutko:

"Zip" suspaudimas yra pagrįstas pakartotiniais suspaustų duomenų modeliais, o suspaudimas gerėja, nes ilgiau yra failas, nes galima rasti ir naudoti daugiau ir ilgesnių modelių.

Supaprastinta, jei suspaudus vieną failą, žodynėlis, kuris žemėlapius (trumpus) kodus (ilgesnius) modelius būtinai sudaro kiekviename gautame zip faile; jei zip vieną ilgą failą, žodyną "pakartotinai naudojamas" ir jis vis veiksmingiau išplečia visame turinyje.

Jei jūsų failai yra netgi panašūs (kaip visada tekstas yra), "žodyno" pakartotinis naudojimas tampa labai veiksmingas ir rezultatas yra daug mažesnis bendras zip failas.

Vykdant Aganju atsakymą:

Į zip kiekvienas failas yra suspaustas atskirai. Priešingai yra kietasis suspaudimas , ty failai suspaudžiami kartu. 7-zip ir Rar pagal nutylėjimą naudoja kietąjį suspaudimą. "Gzip" ir "Bzip2" negali suspausti kelis failus, taigi "Tar" yra naudojamas pirmiausia, turintis tokį patį efektą kaip ir kietąjį suspaudimą.

Kadangi xml failai turi panašią struktūrą (ir tikriausiai panašų turinį), jei failai suspaudžiami kartu, tada suspaudimas bus didesnis .

Pavyzdžiui, jei failas yra eilutė " ", o kompresorius jau nustatė tą eilutę kitame faile, jis pakeis mažą rodyklę į ankstesnę atitiktį. Jei kompresoriuje nenaudojamas kietas suspaudimas, pirmasis failo eilutės įvykis įrašomas kaip literal , kuris yra didesnis.


Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.


"Windows 10" trikčių šalinimas 100% disko naudojimo

"Windows 10" trikčių šalinimas 100% disko naudojimo

Aš neseniai rašė apie "Windows 10" užšalimo problemos triktį, ir šiame pranešime aš kalbėsiu apie kitos gana dažnai pasitaikančios problemos trikdymą - disko naudojimas rodomas 100% visą laiką. Aš pastebėjau, kad ši sąlyga ypač tinka nešiojamiesiems kompiuteriams.Paprastai disko naudojimas bus artimiausiu ar maždaug 100% kelias sekundes ar net keletą minučių, bet tada turės apsigyventi iki kažko daugiau pagrįsto (paprastai mažiau nei 10%). Jei nuosekliai matote labai

(How-to)

Kas yra

Kas yra "Linux" ("Linux") aplanko aplanko ekvivalentas "Windows"?

Nors visose operacinėse sistemose yra keletas bendrų dalykų, gali kilti klausimas, ar vienos rūšies operacinė sistema turi konkrečią "funkcija", kad dar viena. Atsižvelgiant į tai, šiandieninis "SuperUser Q & A" postas turi atsakymus į įdomų skaitytojo klausimą. Šiandienos klausimų ir atsakymų sesija ateina pas mus "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A grupės svetainių dalimi.

(how-to)