Wie kann ich dieses Bildverarbeitungsskript parallelisieren?


0

Ich habe dieses Skript, das .CR2-Bilder von meinen Canon-Camern in JPEGs konvertiert. Die Bilder haben den Namen IMG_ {NNNN} .CR2, wobei {NNNN} die Bildsequenznummern der Kamera sind. Ich möchte es parallelisieren, um 4 oder 8 Kerne zu verwenden:

#!/bin/sh

for i in `find . -name '*.CR2' | sed 's;./IMG_;;' | sed 's;.CR2;;'`; do dcraw -c -h -w -M -b 1 -o 1 IMG_$i.CR2 | cjpeg -quality 80 > IMG_$i.jpg; done

Antworten:


0

Finden Sie heraus, wie viele CPUs Sie haben, indem Sie sich / proc / cpuinfo oder ein anderes Tool ansehen.

Erstellen Sie mit Ihrem Befehl eine Reihe von Stapeldateien für jede CPU. Führen Sie dann die Stapeldateien mit "& amp;" aus. im Hintergrund laufen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.