Erweitern meines vorherigen Kommentars zu einer Antwort.
Gnu parallel ist das Befehlszeilentool, mit dem Jobs gleichzeitig ausgeführt werden können. Dabei werden mehrere Threads, Kerne, CPUs und PCs verwendet. xargs bietet jetzt ähnliche Funktionen mit dem Hinzufügen des -P
Switches.
Ich habe einen Test für Sie auf einem Zwei-Kern- VPS durchgeführt, mit pngquant
dem eine Reihe von .png
Dateien (126 Bilder mit einer Größe von durchschnittlich 9 MB) konvertiert wurden .
pngquant *.png
hat 26 Minuten gedauert.
find . -iname "*.png" | parallel pngquant {}
dauerte 14 minuten.
top
zeigt die parallele Ausführung von zwei pngquant
Befehlen gleichzeitig:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5808 user 20 0 70948 59164 2140 R 100.0 2.9 0:03.49 pngquant 5811 user 20 0 70952 61000 2024 R 99.3 3.0 0:05.67 pngquant