70 votes

Outils de compression multi-cœurs

Quoi outils de compression sont disponibles dans Ubuntu qui peuvent bénéficier d'un CPU multi-core.

5voto

eimyr Points 934

lzop peut également être une option viable, bien qu'elle soit monofilière.

Il utilise le très rapide lempel-ziv-oberhumer qui, selon mes observations, est 5 à 6 fois plus rapide que gzip.

Note : Bien qu'il ne soit pas encore multithreadé, il sera probablement plus performant que pigz sur les systèmes à 1-4 cœurs. C'est pourquoi j'ai décidé de poster ceci même si cela ne répond pas directement à votre question. Essayez-le, il peut résoudre votre problème de goulot d'étranglement du CPU tout en utilisant un seul CPU et en compressant un peu moins bien. J'ai trouvé que c'était souvent une meilleure solution que, par exemple, Pigz.

4voto

helvete Points 141

Il ne s'agit pas vraiment d'une réponse, mais je pense que c'est suffisamment pertinent pour partager mes points de repère comparant la rapidité de l'utilisation de l'Internet. gzip et pigz sur un vrai HW dans un vrai scénario de vie. Comme pigz est l'évolution multithread que j'ai personnellement choisi d'utiliser à partir de maintenant.

Métadonnées :

  • Matériel utilisé : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (4c/8t) + Nvme SSD
  • Distribution GNU/Linux : Xubuntu 17.10 (artful)
  • gzip version : 1.6
  • pigz version : 2.4
  • Le fichier à compresser est 9.25 GiB SQL déverser

gzip rapide

time gzip -1kN ./db_dump.sql

real    1m22,271s
user    1m17,738s
sys     0m3,330s

gzip meilleur

time gzip -9kN ./db_dump.sql 

real    10m6,709s
user    10m2,710s
sys     0m3,828s

pigz rapide

time pigz -1kMN ./db_dump.sql 

real    0m26,610s
user    1m55,389s
sys     0m6,175s

pigz meilleur (non zopfli )

time pigz -9kMN ./db_dump.sql 

real    1m54,383s
user    14m30,435s
sys     0m5,562s

pigz + zopfli algorithme

time pigz -11kMN ./db_dump.sql 

real    171m33,501s
user    1321m36,144s
sys     0m29,780s

En conclusion, je ne recommanderais pas le zopfli puisque la compression prenait énormément de temps pour une quantité non négligeable d'espace disque économisé.

Taille des fichiers résultants :

  • meilleur s : 1309M
  • rapide s : 1680M
  • zopfli : 1180M

3voto

David Foerster Points 34353

Le compresseur LZMA2 de p7zip Install p7zip utilise les deux cœurs sur mon système.

0voto

murlakatamenka Points 1

Entrée pertinente d'Arch Wiki : https://wiki.archlinux.org/index.php/Makepkg#Utilizing_multiple_cores_on_compression

# lzma compression
xz --threads=0

# drop-in parallel gzip replacement
# -p/--processes flag can be used to employ less cores
pigz

# drop-in parallel bzip2 replacement
# -p# flag can be used to employ less cores
# (note: no space between the -p and number of cores)
pbzip2

# modern zstd compression
# is used to build Arch packages by default
# since somewhere 2020
zstd --threads=0

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X