Compressione 7-Zip su computer multi-core


20

Fa 7-Zip prendere vantaggio multiprocessore o sistemi multi-core durante la compressione?

Ad esempio, ci sarebbe una velocità quasi 16 volte maggiore su un sistema a 16 core senza ipotizzare colli di bottiglia sul disco o sulla memoria?

Oppure è limitato a 2 thread (2 volte più veloce su sistemi con più di una CPU o core)?


Modifica : per riassumere: l'attuale versione stabile di 7-Zip (e precedenti) non sfrutta appieno più di 2 CPU / core quando si comprime come 7z (solo per Zip e BZip2), ma la versione 9 (attualmente in beta) lo fa . L'opzione della riga di comando per l'utilizzo di 16 core con la versione 9 è (presente nella cartella di installazione per la versione di Windows, nel file della guida, 7-zip.chmVersione della riga di comando / Opzioni / -m (Imposta metodo di compressione) / <near> "Imposta modalità multithread "):

-mt16

1
Non credo che il riassunto sia abbastanza preciso, vedi alcune delle altre risposte per maggiori dettagli ...
rogerdpack,

Risposte:


10

Devi utilizzare la versione beta per accedere a più core. Beta è come stabile su altri software, non ti preoccupare. C'era una spiegazione in un post sul forum sul sito ufficiale. Lo sto già usando da un po 'e non c'è nessun problema.

Primo

Secondo

A proposito, sto usando 7z 9.13 beta x64 al minuto. Usandolo anche in ambienti produttivi, bellezza. (Grazie Igor per l'ottimo software.;))


3
Da allora, è stata rilasciata una nuova versione stabile, che supporta la compressione multi-thread per impostazione predefinita, non è necessaria la versione beta.
Apache

Non è corretto Può usare 4, 8 e più core. Usa l'ultima versione. Perbacco.
Apache,


4
Nota che questa risposta usa LZMA2 e non LZMA. LZMA2 può utilizzare più di due core suddividendo il file in blocchi ed elaborandoli in modo indipendente. Ciò può comportare che LZMA offra rapporti di compressione più elevati.
Louis,

4

Durante la creazione di un file 7-Zip può utilizzare due thread, mentre durante la creazione di un file ZIP può utilizzare otto thread (sulla mia macchina a otto core).


1
È possibile utilizzare 7z con il metodo LZMA2 per utilizzare i core massimi
Behrouz.M,

1
@raypixar Non funziona per me in un computer i7. Solo l'algoritmo BZip2 consente di eseguire 8 thread completi, altri algoritmi non funzionano al 100%, solo al massimo il 20%. Anche LZMA2 visualizza 8/8 core nel pannello di impostazione ma durante l'elaborazione, utilizza solo il 20% di CPU.
Edward

1
@Edward: non posso confermare i tuoi numeri / esperienza: sul mio i5 7z-9.22beta utilizza tra il 75% e il 95% di CPU e genera tra 8 e 32 thread per archiviare una cartella di ~ 240 MB piena di mp3. .bz2.7z ha impiegato anni, .lzma2.7z è stato piuttosto veloce (tutte le impostazioni ultra) e solo un po 'più grande di .bz2.7z.
Akira,

1
@akira Sì, lo so. Ad ogni modo il commento precedente è diretto al suggerimento "ray pixar" del membro - usa 7z con LZMA2 per usare tutti i core, ma nel mio caso non lo è. Per quanto riguarda i tuoi numeri, penso che sia logico. Cerco in questo sito più volte dopo aver letto questo articolo e ho scoperto forse qualcosa di sbagliato nella mia attuale installazione di 7zip. Ma il problema appare solo nella GUI (UI grafica), non usa oltre il 20% di CPU quando comprimo i file con il metodo LZMA2. Solo quando uso la riga di comando con parametri come -m0 = lzma2 -mmt = 8 la compressione prende il 100% cpu, altrimenti con la GUI non ho capito perché non lo fa.
Edward,

2

Secondo l' articolo di Wikipedia :

Caratteristiche 7-Zip supporta molte funzioni, tra cui:

  1. Supporto per la crittografia AES a 256 bit. La crittografia può essere abilitata sia per i file che per la struttura di directory 7z. Quando la struttura della directory è crittografata, gli utenti sono tenuti a fornire una password per visualizzare i nomi dei file contenuti nell'archivio, a meno che non siano stati crittografati solo i dati ma non i nomi dei file. Lo standard di crittografia AES sviluppato da WinZip è disponibile anche in 7-Zip per crittografare gli archivi ZIP con AES 256-bit, ma non offre la crittografia dei nomi come negli archivi 7z.
  2. Volumi di dimensioni variabili dinamicamente, che consentono l'uso di backup su supporti rimovibili come CD e DVD scrivibili.
  3. Usabilità come file manager ortodosso di base quando utilizzato in modalità a 2 pannelli.
  4. È possibile configurare più impostazioni CPU / core / threading.
  5. La possibilità di tentare di aprire i file EXE come archivi, consentendo la decompressione dei dati all'interno di molti programmi di tipo "SetUp" o "Installer" o "Estrai" senza doverli avviare.
  6. La possibilità di decomprimere gli archivi con nomi di file danneggiati, rinominando i file come richiesto. La capacità di creare archivi autoestraenti sebbene non sia possibile farlo per archivi multi-volume.

Quindi apri l'applicazione e vedi quale multi-threading è supportato.


0

Puoi anche utilizzare la versione Zstandard 7-Zip , che supporta il threading fino a 256 thread per tutti e 5 i codec aggiuntivi.

I codec sono:

  1. Brotli
  2. LZ4
  3. LZ5
  4. Lucertola
  5. ZStandard

Eseguilo come:

7z a archiv.7z -m0=brotli -mx1 -mmt=1

...

7z a archiv.7z -m0=brotli -mx1 -mmt=256

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.