Ci-dessous, les différences entre deux révisions de la page.
— | php-bash:convert-images [2020/03/22 17:44] (Version actuelle) – créée crust | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Convertir des images : xargs vs parallel vs boucle bash ====== | ||
+ | |||
+ | |||
+ | Reflexion sur le temps et charge processus d'une commande. | ||
+ | Cas concret : convertir un ensemble de fichiers PNG en GIF | ||
+ | |||
+ | ===== Echantillon ===== | ||
+ | |||
+ | <code bash>du -sh | ||
+ | 240 fichiers générés aléatoirement pour un total disque de 7,5 Mo | ||
+ | 7, | ||
+ | |||
+ | <code bash> | ||
+ | ls -l | wc -l | ||
+ | 240</ | ||
+ | |||
+ | ===== Avec xargs ===== | ||
+ | |||
+ | <code bash>$ time ls -1 *.png | xargs -n 1 bash -c ' | ||
+ | |||
+ | real 0m30, | ||
+ | user 0m30, | ||
+ | sys 0m4, | ||
+ | |||
+ | ===== En shell ===== | ||
+ | |||
+ | <code bash>$ time ls -1 *.png | parallel -j 3 convert ' | ||
+ | |||
+ | real 0m28, | ||
+ | user 0m54, | ||
+ | sys 0m20, | ||
+ | |||
+ | ===== Avec parallel ===== | ||
+ | |||
+ | <code bash>$ time ls -1 *.png | parallel | ||
+ | |||
+ | real 0m25, | ||
+ | user 0m56, | ||
+ | sys 0m21, | ||
+ | |||
+ | ===== Quesako ===== | ||
+ | |||
+ | **real** fait référence au temps réel écoulé; | ||
+ | user et **sys** font référence au temps CPU utilisé uniquement par le processus. | ||
+ | |||
+ | Le temps **real** est l' | ||
+ | |||
+ | Le temps **user** est la quantité de temps CPU passé en code en mode utilisateur (en dehors du noyau) dans le processus. Il s'agit uniquement du temps CPU real utilisé lors de l' | ||
+ | |||
+ | Le temps **sys** est la quantité de temps CPU passé dans le noyau au sein du processus. Cela signifie exécuter le temps CPU passé dans les appels système au sein du noyau, par opposition au code de bibliothèque, | ||
+ | |||
+ | ** | ||
+ | User + Sys** vous indiqueront combien de temps CPU réel votre processus a utilisé. Notez que cela concerne tous les processeurs, | ||
+ | |||
+ | |||
+ | //Gardez à l' | ||
+ | |||
+ | |||
+ | Bon voilà c' |