Compresión 7-Zip en computadoras multi-core


20

¿ 7-Zip aprovecha los sistemas multiprocesador o multinúcleo al comprimir?

Por ejemplo, ¿habría una aceleración de casi 16 veces en un sistema de 16 núcleos suponiendo que no haya cuellos de botella en el disco o en la memoria?

¿O está limitado a 2 hilos (2 veces más rápido en sistemas con más de una CPU o núcleo)?


Editar : Para resumir: la versión estable actual de 7-Zip (y anterior) no aprovecha al máximo más de 2 CPU / núcleos cuando se comprime como 7z (solo para Zip y BZip2), pero la versión 9 (actualmente en beta) sí . La opción de línea de comandos para usar 16 núcleos con la versión 9 es (esta se encuentra en la carpeta de instalación para la versión de Windows, en el archivo de ayuda, 7-zip.chmVersión de línea de comandos / Interruptores / -m (Establecer método de compresión) / <near> "Conjuntos modo multiproceso "):

-mt16

1
No creo que el resumen sea bastante exacto, vea algunas de las otras respuestas para más detalles ...
rogerdpack

Respuestas:


10

Tienes que usar la versión beta para obtener acceso a más núcleos. Beta es estable en otros softwares, no te preocupes por eso. Hubo una explicación en una publicación del foro en el sitio oficial. Lo estoy usando por un tiempo ya, y no hay problema con eso.

primero

Segundo

Por cierto, estoy usando 7z 9.13 beta x64 por minuto. Usarlo en entornos productivos también, genialidad. (Gracias Igor por el excelente software.))


3
Desde entonces, salió una nueva versión estable, que admite compresión de subprocesos múltiples de forma predeterminada, sin necesidad de la versión beta.
Apache

Eso no es correcto Puede usar 4, 8 y más núcleos. Solo usa la última versión. Dios mio.
Apache


44
Tenga en cuenta que esta respuesta usa LZMA2 y no LZMA. LZMA2 puede usar más de dos núcleos dividiendo el archivo en trozos y procesándolos de forma independiente. Esto puede dar como resultado que LZMA ofrezca relaciones de compresión más altas.
Louis

4

Al crear un archivo 7-Zip, puede usar dos hilos, mientras que al crear un archivo ZIP puede usar ocho hilos (en mi máquina de ocho núcleos).


1
Puede usar 7z con el método LZMA2 para usar núcleos máximos
Behrouz.M

1
@raypixar no funciona para mí en una computadora i7. Solo el algoritmo BZip2 le permite ejecutar 8 hilos completos, otro algoritmo no funciona al 100%, solo ~ 20% en el mejor de los casos. Incluso LZMA2 muestra 8/8 núcleos en el panel de configuración, pero cuando se procesa, solo maximiza ~ 20% de CPU.
Edward

1
@Edward: no puedo confirmar sus números / experiencia: en mi i5 7z-9.22beta utiliza entre 75% y 95% de CPU y genera entre 8 y 32 hilos para archivar una carpeta de ~ 240mb llena de mp3. .bz2.7z tomó años, .lzma2.7z fue bastante rápido (todas las configuraciones ultra) y solo un poco más grande que .bz2.7z.
akira

1
@akira Sí, lo sé. De todos modos, el comentario anterior directo a la sugerencia del miembro "ray pixar": use 7z con LZMA2 para usar todos los núcleos, pero en mi caso no lo hace. Sobre sus números, creo que es lógico. Busqué en este sitio más veces después de leer este artículo y descubrí que tal vez algo está mal con mi instalación actual de 7zip. Pero el problema solo aparece en la GUI (interfaz gráfica de usuario), no usa más del 20% de CPU cuando comprimo archivos con el método LZMA2. Solo cuando uso la línea de comando con parámetros como -m0 = lzma2 -mmt = 8, la compresión toma 100% de CPU, de lo contrario con GUI, no he descubierto por qué no.
Edward

2

Según el artículo de Wikipedia :

Características 7-Zip admite muchas características, que incluyen:

  1. Soporte para el cifrado AES de 256 bits. El cifrado se puede habilitar para ambos archivos y la estructura del directorio 7z. Cuando la estructura del directorio está encriptada, los usuarios deben proporcionar una contraseña para ver los nombres de archivo contenidos en el archivo, a menos que solo los datos estén encriptados pero no los nombres de archivo. El estándar de cifrado AES desarrollado por WinZip también está disponible en 7-Zip para cifrar archivos ZIP con AES de 256 bits, pero no ofrece cifrado de nombre de archivo como en los archivos 7z.
  2. Volúmenes de tamaños dinámicamente variables, lo que permite su uso para copias de seguridad en medios extraíbles, como CD y DVD grabables.
  3. Usabilidad como administrador de archivos ortodoxo básico cuando se usa en modo de 2 paneles.
  4. Se pueden configurar múltiples configuraciones de CPU / núcleo / subprocesamiento.
  5. La capacidad de intentar abrir archivos EXE como archivos, lo que permite la descompresión de datos desde muchos programas de tipo "Configurar" o "Instalador" o "Extraer" sin tener que iniciarlos.
  6. La capacidad de descomprimir archivos con nombres de archivo corruptos, renombrando los archivos según sea necesario. La capacidad de crear archivos autoextraíbles, aunque no puede hacerlo para archivos de varios volúmenes.

Abra la aplicación y vea qué subprocesos múltiples es compatible.


0

También puede usar la versión 7-Zip Zstandard , que admite hilos de hasta 256 hilos para los 5 códecs adicionales.

Los códecs son:

  1. Brotli
  2. LZ4
  3. LZ5
  4. Lagartija
  5. Zstandard

Ejecútalo como:

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

...

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.