sv.phhsnews.com


sv.phhsnews.com / Varför kan Zip Able komprimera enskilda filer bättre än flera filer med samma innehåll?

Varför kan Zip Able komprimera enskilda filer bättre än flera filer med samma innehåll?


Att kunna komprimera våra filer så att det är lättare att dela och / eller transportera dem kan göra vår elektroniska liv är mycket enklare, men ibland kan vi se udda eller oväntade limningsresultat efter att vi komprimerar dem. Varför är det så? Dagens SuperUser Q & A-inlägg har svar på en förvirrad läsares frågor.

Dagens Frågor och svar sessions kommer till vår del med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Foto med tillstånd av Jean-Etienne Minh-Duy Poirrier (Flickr).

Frågan

SuperUser-läsaren sixtyfootersdude vill veta varför zip kan komprimera enkla filer bättre än flera filer med samma typ av innehåll:

Antag att jag har 10.000 XML-filer och vill skicka dem till en vän.

Metod 1: Komprimera inte dem

Resultat:

Metod 2: Zip varje fil separat och skicka honom 10 000 zip-XML-filer

Kommando:

Resultat:

Metod 3: Skapa en enkel zip-fil som innehåller alla 10 000 XML-filer

Kommando:

Resultat:

Metod 4: Sammanfoga filerna till en enda fil och zip den

Kommando:

Resultat:

Frågor

  • Varför får jag så dramatiskt bättre resultat när jag bara sipprar en enda fil?
  • Jag väntade mig att få drastiskt bättre resultat med metod 3 snarare än metod 2, men jag låt bli. Varför är detta?
  • Är detta beteende specifikt för zip? Om jag försökte använda Gzip, skulle jag få olika resultat?

Ytterligare info

Meta Data

En av de givna svaren föreslår att skillnaden är systemmets metadata som lagras i zip-filen. Jag tror inte att detta kan vara fallet. För att testa det gjorde jag följande:

Den resulterande zip-filen är 1,4 MB. Det betyder att det fortfarande finns ungefär tio MB oförklarligt utrymme.

Varför kan zip komprimera enkla filer bättre än flera filer med samma typ av innehåll?

Svaret

SuperUser-bidragsgivare Alan Shutko och Aganju har svaret för oss. Först upp, Alan Shutko:

Zip-komprimering bygger på repetitiva mönster i de data som ska komprimeras, och komprimeringen blir bättre ju längre filen är, eftersom fler och längre mönster kan hittas och användas.

Förenklat, Om du komprimerar en fil, innehåller ordlistan som kartlägger (korta) koder till (längre) mönster nödvändigtvis i varje resulterande zip-fil; Om du sluter en lång fil, är ordlistan "återanvänd" och blir ännu effektivare över allt innehåll.

Om dina filer är till och med lite likartade (som text alltid är) blir återanvändning av "ordboken" mycket effektiv och Resultatet är en mycket mindre total zip-fil.

Följd av svaret från Aganju:

I zip, komprimeras varje fil separat. Det motsatta är solid komprimering , dvs filer komprimeras tillsammans. 7-zip och Rar använder som standard komprimering som standard. Gzip och Bzip2 kan inte komprimera flera filer, så Tar används först och har samma effekt som fast komprimering.

Eftersom xml-filer har liknande struktur (och förmodligen liknande innehåll), om filerna komprimeras tillsammans kommer komprimeringen att vara högre .

Om en fil innehåller strängen " " och kompressorn redan har hittat den strängen i en annan fil, ersätter den den med en liten pekare till föregående match. Om kompressorn inte använder solid kompression spelas den första förekomsten av strängen i filen in som en bokstavlig , som är större.


Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.


Fördelar och nackdel med Windows 10: s

Fördelar och nackdel med Windows 10: s "Snabba start" -läge

Windows 10: s Snabba start (kallad Snabbstart i Windows 8) fungerar på samma sätt som hybridsömläget för tidigare versioner av Windows. Genom att spara operativsystemstatus till en vilolägefil kan den göra datorn uppstart ännu snabbare och spara värdefulla sekunder varje gång du slår på datorn. Snabbstart är som standard aktiverad i en ren Windows-installation på de flesta bärbara datorer och vissa skrivbord, men det fungerar inte alltid perfekt, och det finns några nackdelar som kan övertyga dig om att stänga av det.

(how-to)

När kommer 3D-skrivare att vara värda att köpa för hemanvändning?

När kommer 3D-skrivare att vara värda att köpa för hemanvändning?

Vi vill alla ha replikatorn från Star Trek: en maskin som kan skapa något objekt vi önskar. 3D-skrivare, som skapar föremål från plast och andra material, är de närmaste sakerna vi har. Och de blir billigare varje år. Det var mycket hype om 3D-skrivare för några år sedan. Hype har lugnat sig nu, men 3D-skrivarföretag vill fortfarande sätta en 3D-skrivare i varje hem - inklusive din.

(how-to)