GNU/Linux >> Znalost Linux >  >> Linux

Podpora více vláken v 7za

Podle přepínače -m (Nastavit metodu komprese) # ZipMultiThread - 7ZIP manuál a dokumentace, mt výchozí je on , takže to vůbec není potřeba specifikovat.

Implementace algoritmu DEFLATE 7zip však nepodporuje vícevláknové zpracování!

Jak jste již zjistili,

7za a archive.zip bigfile

používá pouze jedno jádro.

Ale .zip soubory komprimují každý soubor jednotlivě. Při komprimaci několika soubory, možnost multi-threading komprimuje jeden soubor na jádro najednou.

Zkuste to a uvidíte, že

7za a archive.zip bigfile1 ... bigfileN

použije všech dostupných N jádra.

Pokud chcete urychlit kompresi jednotky soubor, máte dvě možnosti:

  1. Rozdělit bigfile po kouscích.

  2. Použijte jiný kompresní algoritmus.

    Například implementace algoritmu BZip2 od 7zip podporuje multi-threading.

    Syntaxe je:

    7za a -mm=BZip2 archive.zip bigfile
    

Chyba syntaxe je také způsobena vaším pokusem použít algoritmus LZM pro .zip kontejner. To není možné.

Možné algoritmy pro .zip kontejnery jsou DEFLATE(64), BZip2 a bez komprese.

Pokud chcete použít algoritmus LZM, použijte .7z kontejner. Tento kontejner také zpracovává následující algoritmy:PPMd, BZip2, DEFLATE, BCJ, BCJ2 a bez komprese.


Toto je stará otázka, nikoli odpověď na konkrétní otázku, ale odpověď na podstatu otázky (Použití všech jader ke kompresi formátu zip)

pigz (paralelní gzip s možností .zip)

pigz -K -k archive.zip bigfile txt

Získáte tak soubor kompatibilní se zipem 7x rychlejší při stejné úrovni komprese.

Rychlé srovnání kompresorů kompatibilních se zipem a kompresorů bez zipu s jedním a více jádry.

wall times na i7-2600k pro komprimaci 1.0gb txt souboru na fedoře 20

67s (120mb) 7za (zip,1 thread)
15s (141mb) 7za -mx=4 (zip,1 thread)
17s (132mb) zip (zip,1 thread)
 5s (131mb) pigz -K -k (zip,8 threads)
 9s (106mb) bsc (libbsc.com) (not zip,8 threads)
 5s (130mb) zhuff -c2 (not zip,8 threads)
 2s (149mb) zhuff (not zip,8 threads)

časy stěny k dekompresi

4.2s unzip -t
2.0s pigz -t
5.1s bsc d
0.5s zhuff -d

Linux
  1. Linux – Kernel:Podpora jmenných prostorů?

  2. Stav podpory Hidpi v Xfce?

  3. Komprimujte soubory zip s vyšší kompresí

  1. Jak používat Unzip v Linuxu

  2. Univerzální extraktory?

  3. Kódování souboru ZIP?

  1. Kompresní program zobrazuje živý kompresní poměr?

  2. Linux příkaz zip

  3. Kompresní a archivační metody v Linuxu