„najlepszy” jak w „co powoduje najmniejszy rozmiar pliku”?
Hennes
Nie wiem, próbowałem znaleźć odpowiedź na pytanie, aby dodać test. Nie mam też pojęcia, dlaczego ta sprawa została zamknięta. @Karan
Nathan2055
1
Och, dlaczego to było tak łatwe. „Najlepsze” jest wysoce subiektywne i zwykle prowadzi do dyskusji lub niekonstruktywnych odpowiedzi. Najlepszą kompresją może być najmniejszy rozmiar pliku, najszybsza kompresja, najmniejsze zużycie energii do kompresji (np. Na laptopie), najmniejszy wpływ na system podczas kompresji (np. Starożytne programy z pojedynczą ścieżką, wykorzystujące tylko jeden rdzeń), ... lub kombinacja wszystkich tych.
Hennes,
Ciekawym artykułem do przeczytania jest tomshardware.com/reviews/winrar-winzip-7-zip-magicrar,3436.html (oparty na systemie Windows i koncentrujący się na 7zip, magicRAR, WinRAR i WinZip zamiast xz, gz lub bz, ale wciąż interesujący i dostarczanie informacji ogólnych).
Hennes
@Hennes - posprzątałem post, aby jak najlepiej zastąpić dokładnie to, czego szukałem. Również dzięki za wspomniany artykuł przeczytam go dzisiaj.
Nathan2055 11.04.13
Odpowiedzi:
15
W teście warunków skrajnych skompresowałem 464 megabajty danych przy użyciu trzech wymienionych formatów. Gzip zwrócił plik 364 MB. Bzip2 zwrócił plik 315 MB. Xz zwrócił plik 254 MB. Zrobiłem również prosty test prędkości:
Kompresja:
1: Gzip
2: Xz
3: Bzip2 (w tym czasie mój wentylator dmuchał dość mocno, co wskazuje, że mój Athlon II był dość napięty)
Dekompresja:
1: Xz
2: Gzip
3: Bzip2
Należy pamiętać, że wszystkie te testy zostały wykonane z najnowszą wersją 7-Zip.
Xz jest najlepszym formatem dla dobrze zaokrąglonej kompresji, a Gzip jest bardzo dobry dla szybkości. Bzip2 jest przyzwoity ze względu na swój współczynnik kompresji, chociaż prawdopodobnie zamiast niego należy użyć xz.
wszystkie poziomy kompresji na maks., procesor Intel I7 3740QM, pamięć 32 GB 1600, źródło i miejsce docelowe na dysku RAM
Generalnie używam rar lub 7z do archiwizacji normalnych plików, takich jak dokumenty.
a do archiwizacji plików systemowych używam .tar.gz lub .tar.xz za pomocą rolki plików lub tar z opcjami -z lub -J wraz z --preserve, aby kompresować natywnie za pomocą tar i zachować uprawnienia (także alternatywnie .tar.7z lub można użyć .tar.rar)
aktualizacja: ponieważ tar zachowuje tylko zwykłe uprawnienia, a nie listy ACL, również można użyć zwykłego .7z oraz kopii zapasowych i przywracania uprawnień i list ACL ręcznie za pośrednictwem getfacl i sefacl, co wydaje się być najlepszą opcją zarówno do archiwizacji plików, jak i tworzenia kopii zapasowych plików systemowych, ponieważ będzie pełna zachować uprawnienia i listy ACL, ma sumę kontrolną, test integralności i możliwość szyfrowania, jedyną wadą jest to, że p7zip nie jest dostępny wszędzie
Student, jakie były opcje rar? Dlaczego nie wypróbować lrzip przez kolivas , powinien on dobrze działać w przypadku obrazów dysków wirtualnych.
osgx
Przeprowadzam migrację z RAR do Git i tarballi na moje pliki tekstowe i btrfs na wszystko inne; moim powodem używania RAR nie jest wydajność, używam go z powodu takich funkcji, jak rekord odzyskiwania, osobna 256-bitowa suma kontrolna na poziomie pliku dla każdego pliku i ...
Sudoer
3
Myślę, że ten artykuł zapewnia bardzo interesujące wyniki.
Najbardziej wydajnymi formatami są xz i lzma, oba z przekazanym parametrem -e.
Najszybszym algorytmem są zdecydowanie lzop i lz4, które mogą wytworzyć poziom kompresji niezbyt daleko od gzip w 1,3 sekundy, podczas gdy gzip zajął 8,1 sekundy. Współczynnik kompresji wynosi 2,8 dla lz4 i 3,7 dla gzip.
Oto kilka wyników, które wyodrębniłem z tego artykułu:
Gzip: 8,1 s przy 3,7
lz4: 1,3 s przy 2,8
xz: 32,2s przy 5,43
xz -e: 6m40 przy 7,063
xz: 4m51s przy 7,063
Więc jeśli naprawdę desperacko potrzebujesz prędkości, lz4 jest niesamowity i nadal zapewnia współczynnik kompresji 2.8.
Jeśli desperacko potrzebujesz zaoszczędzić bajt, xz przy maksymalnym poziomie kompresji (9) wykonuje najlepszą robotę dla plików tekstowych takich jak źródło jądra. Jest jednak bardzo długi i zajmuje dużo pamięci.
Dobrym, gdy jest to potrzebne, aby zminimalizować wpływ na czas ORAZ przestrzeń, jest gzip. To jest to, którego użyłbym do ręcznego codziennego tworzenia kopii zapasowych środowiska produkcyjnego.
Odpowiedzi:
W teście warunków skrajnych skompresowałem 464 megabajty danych przy użyciu trzech wymienionych formatów. Gzip zwrócił plik 364 MB. Bzip2 zwrócił plik 315 MB. Xz zwrócił plik 254 MB. Zrobiłem również prosty test prędkości:
Kompresja:
1: Gzip
2: Xz
3: Bzip2 (w tym czasie mój wentylator dmuchał dość mocno, co wskazuje, że mój Athlon II był dość napięty)
Dekompresja:
1: Xz
2: Gzip
3: Bzip2
Należy pamiętać, że wszystkie te testy zostały wykonane z najnowszą wersją 7-Zip.
Xz jest najlepszym formatem dla dobrze zaokrąglonej kompresji, a Gzip jest bardzo dobry dla szybkości. Bzip2 jest przyzwoity ze względu na swój współczynnik kompresji, chociaż prawdopodobnie zamiast niego należy użyć xz.
źródło
bzip2 -9 <file>
?Zrobiłem własny test porównawczy na obrazie vmdk instalacji Linuksa w wersji 1.1GB:
wszystkie poziomy kompresji na maks., procesor Intel I7 3740QM, pamięć 32 GB 1600, źródło i miejsce docelowe na dysku RAM
Generalnie używam rar lub 7z do archiwizacji normalnych plików, takich jak dokumenty.
a do archiwizacji plików systemowych używam .tar.gz lub .tar.xz za pomocą rolki plików lub tar z opcjami -z lub -J wraz z --preserve, aby kompresować natywnie za pomocą tar i zachować uprawnienia (także alternatywnie .tar.7z lub można użyć .tar.rar)
aktualizacja: ponieważ tar zachowuje tylko zwykłe uprawnienia, a nie listy ACL, również można użyć zwykłego .7z oraz kopii zapasowych i przywracania uprawnień i list ACL ręcznie za pośrednictwem getfacl i sefacl, co wydaje się być najlepszą opcją zarówno do archiwizacji plików, jak i tworzenia kopii zapasowych plików systemowych, ponieważ będzie pełna zachować uprawnienia i listy ACL, ma sumę kontrolną, test integralności i możliwość szyfrowania, jedyną wadą jest to, że p7zip nie jest dostępny wszędzie
źródło
Myślę, że ten artykuł zapewnia bardzo interesujące wyniki.
http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
Najbardziej wydajnymi formatami są xz i lzma, oba z przekazanym parametrem -e.
Najszybszym algorytmem są zdecydowanie lzop i lz4, które mogą wytworzyć poziom kompresji niezbyt daleko od gzip w 1,3 sekundy, podczas gdy gzip zajął 8,1 sekundy. Współczynnik kompresji wynosi 2,8 dla lz4 i 3,7 dla gzip.
Oto kilka wyników, które wyodrębniłem z tego artykułu:
Gzip: 8,1 s przy 3,7
lz4: 1,3 s przy 2,8
xz: 32,2s przy 5,43
xz -e: 6m40 przy 7,063
Więc jeśli naprawdę desperacko potrzebujesz prędkości, lz4 jest niesamowity i nadal zapewnia współczynnik kompresji 2.8.
Jeśli desperacko potrzebujesz zaoszczędzić bajt, xz przy maksymalnym poziomie kompresji (9) wykonuje najlepszą robotę dla plików tekstowych takich jak źródło jądra. Jest jednak bardzo długi i zajmuje dużo pamięci.
Dobrym, gdy jest to potrzebne, aby zminimalizować wpływ na czas ORAZ przestrzeń, jest gzip. To jest to, którego użyłbym do ręcznego codziennego tworzenia kopii zapasowych środowiska produkcyjnego.
źródło