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.


Kaip išjungti

Kaip išjungti "Siri" ir vietovių paslaugas "Apple TV" programoje

"Apple" integruoja "Siri" į viską ir kodėl ne? Tai yra mūsų mėgstamiausia ir gerai veikia, ar tai "Apple Watch", tiek "iPhone" ar "iPad". Jei naudojate "Apple TV", galbūt norėsite jį išjungti. Iš visų "Apple" įrenginių, kuriuose įdiegta "Siri", "Apple TV" gali būti tokia, kur galite be jos, ir vis tiek naudojatės prietaisu arti jo potencialas.

(how-to)

Kaip žiūrėti

Kaip žiūrėti "Amazon Instant Video" apie "Linux"

"Amazon Instant Video" naudoja "Flash plug-in", todėl galite įsivaizduoti, kad ji "tiesiog dirbtų" su "Flash" sistemoje "Linux". Jūs turėtumėte būti negerai, bet galite gauti "Amazon Instant Video", kad galėtumėte dirbti su minimaliu koregavimu. Šiame straipsnyje mes naudojome naujausią "Firefox" versiją Ubuntu 14.

(how-to)