Nie obchodzi mnie, ile czasu zajmuje kompresja, wszystko, co chcę osiągnąć, to dwie rzeczy:
- Absolutnie najlepszy możliwy stopień kompresji
- Kompatybilność ze standardowymi czytnikami, takimi jak Windows i WinZip
Tak więc sugestie, takie jak 7-zip, nie będą miały większego zastosowania, chyba że 7-zip jest również nieco lepszy w standardowej kompresji ZIP (w przeciwieństwie do używania bardzo dobrego formatu .7z).
Idealnie szukam:
- Rekomendacja oprogramowania
- Szczegółowe ustawienia tego oprogramowania, które umożliwiają absolutnie najlepszą kompresję
- Coś za darmo
Pamiętaj, że czas kompresji nie jest problemem!
I ostatnia rzecz - niektóre pliki mogą być lepiej skompresowane przy różnych ustawieniach, takich jak „Rozmiar słowa” lub „Rozmiar słownika” - czy istnieje narzędzie, które może analizować pliki i wybierać najbardziej odpowiedni współczynnik kompresji, czy też WinZip, 7-zip itd. już to robisz?
źródło
-mm=
zamiast-m0=
.-m0=
jest używany w.7z
archiwach. Ponadto instrukcja 7-Zip określa, że-mx=9
dla archiwów Zip jest to równoważne z-mfb=128 -mpass=10
. Zauważyłem, że-mfb=258 -mpass=15
zawsze jest o wiele wolniejszy-mx=9
i często nie oszczędza dużo miejsca (lub czasami zużywa kilka bajtów więcej). Od czasu do czasu oszczędza sporo miejsca.Najlepsze znane mi kompresory deflate (format kompresji używany przez standardowe ZIP) to:
7zip mm=Deflate mx=9
Deflate porównanie rozmiaru skompresowanego pliku z kompresji danych przy użyciu Zopfli (zarchiwizowane z oryginału ):
Nawet na losowych plikach PNG Zopfli był o 0,5% lepszy niż pngout . Zopfli jest najmniejszym z nich wszystkich.
źródło
Zakładając, że korzystasz z systemu Windows: jeśli nadal chcesz korzystać z formatu ZIP, polecam skorzystanie z bezpłatnego narzędzia wiersza poleceń KZIP Kena Silvermana, które znajduje się tutaj . Skopiuj go do folderu zawierającego wszystkie pliki, które chcesz skompresować, przejdź do tego folderu za pomocą CMD i uruchom następujące polecenie:
Jak sugeruje Roald, najlepiej dołączyć katalog, w którym
kzip.exe
znajduje się zmienna PATH w systemie, aby nie została uwzględniona w pliku archiwum / Zip.Jak dotąd odkryłem, że pliki ZIP utworzone za pomocą KZIP są około 10-20% mniejsze niż pliki utworzone przez inne programy do kompresji ZIP. Można je również w pełni otworzyć za pomocą innego oprogramowania do archiwizacji (Winzip, WinRAR, 7-zip itp.) Oraz systemu Windows.
źródło
Super prosty skrypt do kompresji wszystkich folderów w folderze do pojedynczych plików zip przy użyciu typu pliku .zip i metody kompresji Deflate64.
źródło
Jest to bardziej limit ilości pamięci, którą musisz udostępnić kompresorowi podczas wykonywania jego pracy. Korzystając z 7-Zip, spakowałbym archiwum w formacie .Zip, Ultra kompresja, metoda kompresji LZMA i domyślny rozmiar słownika 64 MB. Jeśli masz dostępną pamięć, zwiększ rozmiar słownika, ale pamiętaj, że potrzebujesz prawie 3 GB dostępnej pamięci do skompresowania za pomocą słownika 64 MB. Korzystanie z większego słownika powinno pozwolić 7-zip na polowanie na więcej dopasowań i zapewnić lepszą kompresję, jeśli możesz sobie pozwolić na pamięć. LZMA pokonuje zarówno gzip (deflate / deflate64, jak sądzę), jak i bzip2 średnio o dobre 5%, do 10-12% w zależności od zawartości.
Nie znam narzędzia do znalezienia najlepszego rozmiaru słowa / słownika, ale myślę, że przekonasz się, że metoda kompresji ma silniejszą korelację z danymi wejściowymi, w przeciwnym razie średnia / domyślna powinna być dobra.
źródło
Jeśli szukasz najlepszego kompresora dla środowisk Windows , polecam wypróbowanie formatu * .zip z 7- zipową metodą kompresji LZMA LUB użycie archiwów 7-Zip * .7z SFX. Archiwa SFX mają narzut około 130 kb ponad skompresowanych plików .7z i warto je stosować, gdy różnica wielkości między .7z a .zip jest duża.
Innym dobrym, ale niecodziennym konkurentem jest NSIS, który może korzystać z trybu kompresji LZMA w celu tworzenia wysoce dostosowanych plików ex. Wiem, że NSIS nie jest kompresorem, ale językiem skryptowym, ale byłem pod wrażeniem, że działał lepiej niż 7-zip SFX.
Test, który zrobiłem z 2 plikami -
Ponieważ # 4 nie jest tym, czego chcesz, wyraźnym zwycięzcą jest NSIS, ale ze względów praktycznych sugeruję, że użycie pliku .zip to skompresowany rozmiar mniejszy niż 500 kbs, a jeśli większy, skorzystaj z narzędzia do tworzenia exe, takiego jak 7-Zip SFX lub NSIS (w szczególności 7-zip, ponieważ jest łatwy w konfiguracji).
źródło