GNU parallelコマンドで並列実行する - Bye Bye Moore
でやったGNU parallelで早くなるかと思い実験
実際のところ
$ time (fswebcam -d /dev/video0 -r 640x480 -F 2 -S 4 image_0.png; fswebcam -d /dev/vide o2 -r 640x480 -F 2 -S 4 image_2.png; fswebcam -d /dev/video4 -r 640x480 -F 2 -S 4 image_4.png; fswebcam -d /dev/video8 -r 640x480 -F 2 -S 4 image_8.png;) --- Opening /dev/video0... … --- Processing captured image... Writing JPEG image to 'image_8.png'. real 0m4.430s user 0m0.317s sys 0m0.098s
お待ちかねのGNU Prallel版。
区切りは改行でやってるので、デバイス番号は手打ち……。
$ time (printf "0\n2\n4\n8\n" | parallel fswebcam -d /dev/video{} -r 640x480 -F 2 -S 4
image_{}.png)
--- Opening /dev/video0...
...
--- Processing captured image...
Writing JPEG image to 'image_4.png'.
real 0m1.684s
user 0m0.502s
sys 0m0.230s