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.


Kodėl jūsų

Kodėl jūsų "Windows" kompiuteris nėra autentiškas (tiksliai to, kas jums ribojamas)

"Galbūt esate programinės įrangos klastojimo auka." Šie pranešimai rodomi reguliariai, jei Windows mano, kad esate naudojant piratinę "Windows" versiją. "Microsoft" nori, kad jūs tapsite, kol nepradėsite teisėto sprendimo ir neleisite PC pardavėjams pinti Windows piratines kopijas į savo kompiuterius.

(how-to)

Neleiskite savo SSD optimizuoti atliekų,

Neleiskite savo SSD optimizuoti atliekų, "Windows" žino, kaip tai daro

Kietojo disko vietos nėra tokios mažos ir trapios, kokios buvo anksčiau. Jums nereikia nerimauti dėl nusidėvėjimo, todėl jums nereikėtų atsisakyti savo "optimizavimo". "Windows 7", "8" ir "10" automatiškai atlieka jūsų darbą. SSD ne tokie maži arba nešvarūs, kokie naudojami būti Yra daug vadovų, skirtų jūsų SSD optimizavimui, T rekomenduokite laikytis daugumos iš jų.

(how-to)