Compression gzip/bzip avec un processeur multicore

- 1 min

Je trouve qu’il n’y a rien de plus frustrant au monde que d’avoir un cheval de course et de devoir aller à la vitesse d’un âne. Non non je ne parle pas de voiture ici, mais belle et bien du problème que tout le monde rencontre avec un quadcore et gzip/bzip.

Encore sur un dualcore, on s’en fou, la technologie Turbo Boost sera de toute façon plus efficace. Mais sur un quadcore c’est dommage de ne pas tirer parti de l’ensemble des capacités offertes (encore plus quand le quadcore n’est pas muni de la technologie Turbo Boost).

gzip

Heureusement, des développeurs ont eu la bonne idée de développer pigz, une implémentation de gzip pensée pour le multiprocesseur/multicore.

tar --use-compress-program=pigz -cvf OUTPUT_FILE.tar.gz /DIR_TO_ZIP/

Simple, rapide, efficace !

bzip

J’ai également trouvé une implémentation de bzip2 optimisé. Le programme s’appelle pbzip2 et s’utilise comme pigz.

tar --use-compress-program=pbzip2 -cvf OUTPUT_FILE.tar.bz2 /DIR_TO_ZIP/

Je pense qu’il doit également exister une implémentation pour bzip mais je vous laisse la chercher !

Conclusion

Les performances sur un quadcore sont vraiment incroyables. Je vous conseille de faire des alias, style mgzip et mbzip2 pour vous éviter de tout retaper chaque fois ;-).

alias mgzip="tar --use-compress-program=pigz -cvf"
alias mbzip2="tar --use-compress-program=pbzip2 -cvf"
Thibault Deutsch

Thibault Deutsch

I'm a french student who studies CS.

rss facebook twitter github youtube mail spotify instagram linkedin google pinterest medium vimeo