Archiwa tagu: paker

7-Zip, a jego „fabryczna” kompresja

Dość mocna zajawka wzięła mnie by porównać sobie stopnie kompresji plików, przy użyciu jednego narzędzia – programu 7-zip. Jakiś czas temu poruszałem temat Najlepszy „paker” plików, wtenczas porównałem dwa programy archiwizujące:

  1. 7-zip
  2. WinRar

Bezapelacyjnie wygrał wówczas 7-zip, czy to ze względu na stopień kompresji przy użyciu flagowego rozszerzenia (7z), czy to również ze względu na cenę, gdyż jest on darmowy. Obecnie miałem taką „rozkminkę”, że skoro program ten wygrał i de facto jestem jego użytkownikiem do dłuższego czasu, to nasuwały mi się pewne pytania:

  • przy użyciu jakiego rozszerzenia zyskuję najlepszy stopień kompresji
  • zachowując tym samym najkrótszy czas, który muszę poświęcić na spakowanie pliku/ów
  • jak i również, jakie formaty plików opłaca się kompresować, a jakie nie (wiadome, że nie wszystko, co możliwe sprawdzałem)

Do testu użyłem oczywiście najnowszej stabilnej wersji programu 7-zip, oraz podstawowych ustawień do kompresji (przestawiałem tylko stopień kompresji i rozszerzenie). Sam test opieram na użyciu 4 rozszerzeń:

  1. Zip;
  2. 7z;
  3. BZip2;
  4. GZip.

Jaki jest najlepszy, jaki najgorszy… co warto, czego nie. Mam nadzieję, że jako tako dowiodłem tego, a na pewno zaspokoiłem swą własną ciekawość. Tak, zdaję sobie poniekąd sprawę, że „nie opłaca się czegoś takiego robić, bo to bez sensu i w ogóle ą, ę…„, czy po prostu (#pececik @ irc.freenode.net):

17:40 < alienek> na bloga wpis jakis? czy po co ci to
17:41 < inzaghi89> no na bloga
17:46 <@PiotrLegnica> bez sęsu ;p
17:46 < inzaghi89> ^^ no pewno
17:46 < inzaghi89> z czystej ciekawości chciałem to sprawdzić, a przy okazji opiszę to :D
17:46 < inzaghi89> może sie dyskusja wywinie jakaś :)
17:47 <@PiotrLegnica> http://www.maximumcompression.com/index.html
17:47 <@PiotrLegnica> nuff said

No ale… wziąłem się, zrobiłem i publikuję.


Najlepszy „paker” plików

Wpis archiwalny, pochodzący ze starej odsłony bloga.

Nigdy jakoś szczególnie nie zastanawiałem się nad jakością kompresowanych plików i nad tym, jaki program do tego używać. Miałem już swoistego rodzaju największe doświadczenie z programem WinRar WinRAR i ogólnie utarł się takie stereotyp, że WinRar WinRAR jest najlepszym pakerem plików. Niie miałem jakoś chęci, ani czasu na to by sprawdzić pakery i wielkość plików po spakowaniu nimi, jednakże dzisiaj postanowiłem wreszcie coś z tym zrobić, a natchnieniem dla mnie był ten oto temat: Maksymalna kompresja.

Do testu użyłem dwóch pakerów: WinRar WinRAR w wersji 3.61 oraz 7zip w wersji 4.42. Do kompresji starałem się wykorzystać wszystkie możliwe rozszerzenia, jakie udostępniały programy i w przypadku WinRara WinRARa były to takie rozszerzenia jak: *.rar, *.zip, *.exe, a 7zip: *.7zip, *.zip, *.tar, *.exe. Posługując się opiniami znalezionymi w sieci doszedłem do wniosku iż filmy, które są kompresowane przy pomocy kodeków nie zostaną tak dobrze skompresowane, jak pliki graficzne, czy też tekstowe, więc postanowiłem skompresować 2 pliki o rozszerzeniu *.3gp, oraz 111 plików graficznych (tapet), które posiadałem na swoim dysku. Przejdźmy więc do wyników kompresji:

Na początku program WinRar WinRAR i kompresja 2 plików *.3gp o łącznej wadze 8,31 MB (bajtów: 8 722 926):

  1. *.rar (najlepsza kompresja) – 8,23 MB (bajtów: 8 632 702)
  2. *.rar (normalna kompresja) – 8,23 MB (bajtów: 8 633 084)
  3. *.rar (najszybsza kompresja) – 8,26 MB (bajtów: 8 671 144)
  4. *.zip (najlepsza kompresja) – 8,24 MB (bajtów: 8 648 524)
  5. *.zip (normalna kompresja) – 8,24 MB (bajtów: 8 649 438)
  6. *.zip (najszybsza kompresja) – 8,26 MB (bajtów: 8 663 325)
  7. *.exe (najlepsza kompresja) – 8,32 MB (bajtów: 8 733 566)
  8. *.exe (normalna kompresja) – 8,32 MB (bajtów: 8 733 948)
  9. *.exe (najszybsza kompresja) – 8,36 MB (bajtów: 8 772 008)

Teraz znów WinRar WinRAR, lecz przy wykorzystaniu 111 plików graficznych o łącznej wadze 30,0 MB (bajtów: 31 557 985)

:

  1. *.rar (najlepsza kompresja) – 29,3 MB (bajtów: 30 799 623)
  2. *.rar (normalna kompresja) – 29,3 MB (bajtów: 30 800 272)
  3. *.rar (najszybsza kompresja) – 29,4 MB (bajtów: 30 848 278)
  4. *.zip (najlepsza kompresja) – 29,3 MB (bajtów: 30 814 956)
  5. *.zip (normalna kompresja) – 29,3 MB (bajtów: 30 816 420)
  6. *.zip (najszybsza kompresja) – 29,4 MB (bajtów: 30 848 278)
  7. *.exe (najlepsza kompresja) – 29,4 MB (bajtów: 30 900 487)
  8. *.exe (normalna kompresja) – 29,4 MB (bajtów: 30 901 136)
  9. *.exe (najszybsza kompresja) – 29,5 MB (bajtów: 30 949 142)

Podsumowanie: Jeśli chodzi o program WinRar WinRAR to widać, że góruje tutaj kompresja plików do formatu *.rar, jednakże proces ten trwa nieco dłużej niż w przypadku formatu *.zip. Więc jeśli zależy Ci na miejscu użyj najlepszej kompresji *.rar , jeśli natomiast gdzieś Ci się spieszy, to wykorzystaj format *.zip i tutaj również najlepszą kompresję mimo tego iż nie widać znaczącej różnicy, lecz w przypadku większej ilości większych plików różnica na pewno się uwodiczni bardziej.

Teraz nadeszła kolej na program 7zip. Nie miałem co prawda z tym programem zbyt wiele doczynienia, jednakże ludzie chwalą go sobie, a informacje zawarte na stronie producenta (polski support) zaciekawiła mnie:

Archiwizer || Rozmiar po kompresji || Różnica kompresji
7-Zip (format 7z) || 5445402 || 100%
WinRAR 3.10 || 6004155 || 110%
WinAce 2.3 || 6242424 || 115%
CABARC 1.0 || 6455327 || 119%
7-Zip (format zip) || 9461621 || 174%
PKZIP 2.50 || 9842800 || 181%

Postanowiłem więc sprawdzić, czy rzeczywiście tak jest. W wypadku programu 7zip wykorzystałem jedynie dwa pliki w formacie *.3gp ze względu na wyniki, które nie były zbyt zadowalające dla mnie.

7zip i kompresja 2 plików *.3gp o łącznej wadze 8,31 MB (bajtów: 8 722 926):

  1. *.7 (ultra kompresja) – 8,23 MB (bajtów: 8 640 510)
  2. *.7z (normalna kompresja) – 8,24 MB (bajtów: 8 643 006)
  3. *.7z (najszybsza kompresja) – 8,28 MB (bajtów: 8 684 257)
  4. *.tar (bez kompresji, bo nie ma innej opcji) – 8,32 MB (bajtów: 8 725 504)
  5. *.zip (ultra kompresja) – 8,23 MB (bajtów: 8 637 033)
  6. *.zip (normalna kompresja) – 8,25 MB (bajtów: 8 659 586)
  7. *.zip (najszybsza kompresja) – 8,25 MB (bajtów: 8 659 586)
  8. *.exe (ultra kompresja) – 8,36 MB (bajtów: 8 772 606)
  9. … nie ma sensu robić dalej, bo widać, że kompresja ultra jest gorsza od najszybszej w WinRarze WinRARze.

Podsumowanie: Program 7zip na pewno zasługuje na większą uwagę, pod warunkiem, że chcesz uniknąć pojawiającego się okienka w WinRarze WinRARze, które ukazuje się po skończonym okresie testowym w/w programu. Kompresja plików znacząco się różni i mimo zaleceń producenta o tym, że program kompresuje o wiele lepiej od innych pakerów można by ponegować, chyba że w przypadku 7zip’a wykorzystano ultra kompresję, a w przypadku innych programów pakujacych najszybszą – wtedy ma to ręce i nogi.

Do testu wykorzystałem tylko i wyłącznie te dwa programy, gdyż o nich najwięcej w chwili obecnej słyszałem. Możliwe, że niebawem postaram się potestować jeszcze inne programy pakujące, jednakże wątpię. Jeśli więc chce ktoś lepszą kompresję i nie przeszkadza im wyskakujące okienko o wygaśniętej wersji WinRara WinRARa to serdecznie polecam ten program i jak widać potwierdziłem w tym teście stereotyp o WinRarze WinRARze w stosunku do innych pakerów. Natomiast jeśli wolisz być wolnym od trialów i chcesz wyłacznie oprogramowanie Freeware, to na pewno skorzystaj z 7zip’a.


Edycja 1: Po przeczytaniu komentarzy odnośnie tego wpisu doszedłem do wniosku iż faktycznie popełniłem błąd kompresując takie pliki jak *.3gp i obrazki. Tak więc zainstalowałem demo gry Warcraft III i postanowiłem ponowić testy, a oto i wyniki:

Kompresja zainstalowanej gry przy pomocy WinRar WinRAR111 MB (bajtów: 116 522 056)

  1. *.rar (najlepsza kompresja) – 93,2 MB (bajtów: 97 729 671)
  2. *.rar (normalna kompresja) – 93,2 MB (bajtów: 97 759 566)
  3. *.rar (najszybsza kompresja) – 97,1 MB (bajtów: 101 896 838)
  4. *.zip (najlepsza kompresja) – 99,3 MB (bajtów: 104 192 208)
  5. *.zip (normalna kompresja) – 99,3 MB (bajtów: 104 215 961)
  6. *.zip (najszybsza kompresja) – 99,7 MB (bajtów: 104 647 804)
  7. *.exe (najlepsza kompresja) – 93,2 MB (bajtów: 97 830 535)
  8. *.exe (normalna kompresja) – 93,3 MB (bajtów: 97 860 430)
  9. *.exe (najszybsza kompresja) – 97,2 MB (bajtów: 101 997 702)

Kompresja zainstalowanej gry przy pomocy 7zip111 MB (bajtów: 116 522 056)

  1. *.7z (ultra kompresja) – 91,1 MB (bajtów: 95 604 202)
  2. *.7z (normalna kompresja) – 92,7 MB (bajtów: 97 284 657)
  3. *.7z (najszybsza kompresja) – 98,1 MB (bajtów: 102 892 393)
  4. *.tar (bez kompresji) – 111 MB (bajtów: 116 594 688)
  5. *.zip (ultra kompresja) – 99,1 MB (bajtów: 103 932 790)
  6. *.zip (normalna kompresja) – 99,3 MB (bajtów: 104 200 918)
  7. *.zip (najszybsza kompresja) – 99,3 MB (bajtów: 104 200 918)
  8. *.exe (ultra kompresja) – 91,3 MB (bajtów: 95 736 298)
  9. *.exe (normalna kompresja) – 92,9 MB (bajtów: 97 416 753)
  10. *.exe (najszybsza kompresja) – 98,2 MB (bajtów: 103 024 489)

Gdybym wziął pod uwagę i od poczatku kompresował różne typy plików zapewne nie popełniłbym takiego błędu odnośnie stereotypu, czy też ogólnej opinii. Jednakże dzięki użytkownikom, którzy skomentowali ten wpis udało się ostatecznie sprawdzić i potwierdzić iż faktycznie program 7zip udostępnia lepsza kompresję wszystkich (obsługiwanych przez niego) rozszerzeń. Wyjątkiem jest tutaj wyłącznie rozszerzenie *.rar, do którego to program nie konwertuje kompresuje plików, jednak sam format jest przez program obsługiwany i można swobodnie wypakowywać przy jego pomocy pliki *.rar.

Ostatecznie reasumując polecam wszystkim program 7zip i sam niezwłocznie zacznę używać ten program i porzucę WinRara WinRARa, gdyż różnica w wielkości jest zauważalna, lecz należy podkreślić, że im więcej zajmuje dany folder, lub im więcej jest w nim plików do kompresji i objętościowo zajmują więcej miejsca, to dane skompresowane będą zajmowały mniej. Mam nadzieję, że komuś to się w przyda ;) .