
Quéherramientas de compresiónestán disponibles en Ubuntu que pueden beneficiarse de una CPU multinúcleo.
Respuesta1
Bueno, la palabra clave eraparalelo. Después de buscar todas las herramientas de compresión que también estabanparaleloEncontré lo siguiente:
PXZ- Parallel XZ es una utilidad de compresión que aprovecha la ejecución de la compresión LZMA de diferentes partes de un archivo de entrada en múltiples núcleos y procesadores simultáneamente. Su objetivo principal es utilizar todos los recursos para acelerar el tiempo de compresión con la mínima influencia posible en la relación de compresión.
sudo apt-get install pxz
PLZIP- Lzip es un compresor de datos sin pérdidas basado en el algoritmo LZMA, con comprobación de integridad muy segura y una interfaz de usuario similar a la de gzip o bzip2. Lzip descomprime casi tan rápido como gzip y comprime mejor que bzip2, lo que lo hace muy adecuado para la distribución de software y el archivado de datos.
Plzip es una versión masivamente paralela (multiproceso) de lzip que utiliza el formato de archivo lzip; Los archivos producidos por plzip son totalmente compatibles con lzip.
Plzip está diseñado para una compresión/descompresión más rápida de archivos grandes en máquinas multiprocesador, lo que lo hace especialmente adecuado para la distribución de archivos de software grandes y el archivado de datos a gran escala. En archivos lo suficientemente grandes, plzip puede utilizar cientos de procesadores.
sudo apt-get install plzip
CERDO- pigz, que significa Implementación paralela de GZip, es un reemplazo completamente funcional de gzip que aprovecha múltiples procesadores y múltiples núcleos al comprimir datos.
sudo apt-get install pigz
PBZIP2- pbzip2 es una implementación paralela del compresor de archivos de clasificación de bloques bzip2 que utiliza pthreads y logra una aceleración casi lineal en máquinas SMP. El resultado de esta versión es totalmente compatible con bzip2 v1.0.2 (es decir: cualquier cosa comprimida con pbzip2 se puede descomprimir con bzip2).
sudo apt-get install pbzip2
LRZIP- Un programa de compresión multiproceso que puede alcanzar índices de compresión y velocidad muy altos cuando se usa con archivos grandes. Utiliza los algoritmos de compresión combinados de zpaq y lzma para una compresión máxima, lzo para una velocidad máxima y la reducción de redundancia de largo alcance de rzip. Está diseñado para escalar con aumentos con el tamaño de la RAM, mejorando aún más la compresión. La elección de optimizaciones de tamaño o velocidad permite una mejor compresión que la que incluso lzma puede proporcionar, o una mejor velocidad que gzip, pero con niveles de compresión del tamaño de bzip2.
sudo apt-get install lrzip
Un pequeño punto de referencia de compresión (utilizando la prueba creada por Oli):
TAMAÑO DEL ARCHIVO ORIGINAL - 100 MB
PBZIP2 - 101 MB (1% más grande)
PXZ - 101 MB (1% más grande)
PLZIP - 102 MB (1% más grande)
LRZIP - 101 MB (1% más grande)
PIGZ - 101 MB (1% más grande) )
Un pequeño punto de referencia de compresión (usando un archivo de texto):
TAMAÑO DEL ARCHIVO ORIGINAL - 70 KB Archivo de texto
PBZIP2 - 16,1 KB (23%)
PXZ - 15,4 KB (22%)
PLZIP - 15,5 KB (22,1%)
LRZIP - 15,3 KB (21,8%)
PIGZ - 17,4 KB (24,8%)
Respuesta2
Hay dos herramientas principales. lbzip2
y pbzip2
. Son implementaciones esencialmente diferentes de compresores bzip2. Los he comparado (el resultado es una versión ordenada pero deberías poder ejecutar los comandos)
cd /dev/shm # we do all of this in RAM!
dd if=/dev/urandom of=bigfile bs=1024 count=102400
$ lbzip2 -zk bigfile
Time: 0m3.596s
Size: 105335428
$ pbzip2 -zk bigfile
Time: 0m5.738s6
Size: 10532460
lbzip2
parece ser el ganador con datos aleatorios. Está un poco menos comprimido pero mucho más rápido. YMMV.
Respuesta3
Actualizar:
Utilidades XZadmite compresión multiproceso desde v5.2.0, originalmente se documentó erróneamente como descompresión multiproceso.
Por ejemplo:tar -cf - source | xz --threads=0 > destination.tar.xz
Respuesta4
Zestándaradmite subprocesos múltiples desdev1.2.0¹. Es un compresor y descompresor muy rápido destinado a reemplazar a gzip y también puede comprimir tan eficientemente (si no mejor) como LZMA2/XZ en sus niveles más altos.
tienes que usaruno de estos lanzamientos, o compila la última versión desde el código fuente para obtener estos beneficios. Afortunadamente, no genera muchas dependencias.
También había un pzstd de terceros en la versión 1.1.0 de zstd.