One minute
Compression gzip/bzip avec un processeur multicore
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"