以下のように単純に bzip2 -9 に引数を渡すことを考える。
$ bzip2 -9 *.1
並列実行との比較のために、xargsを使うと、以下のようになる。実行時間をtimeで計測する。
$ time find -type f -name '*.1' -print0 | xargs -0 -r -t -P0 bzip2 -9 bzip2 -9 ./**********************************.1 ./******************************.1 ./*******************************.1 ./*******************************.1 ./***********************.1 ./******************************.1 ./***************************.1 ./************************.1 ./*****************************.1 ./***********************************.1 ./*****************************.1 ./************************************.1 ./**************************.1 ./****************************.1 ./*****************************.1 ./*********************************.1 ./*******************************.1 ./******************************.1 ./**************************************.1 ./***************************.1 ./*******************************.1 ./******************************.1 ./*********************************.1 real 10m12.115s user 1m14.581s sys 0m0.984s
xargsを使って並列実行する例は以下。
$ time find -type f -name '*.1' -print0 | xargs -0 -r -t -n1 -P0 bzip2 -9 bzip2 -9 ./**********************************.1 bzip2 -9 ./******************************.1 bzip2 -9 ./*******************************.1 bzip2 -9 ./*******************************.1 bzip2 -9 ./***********************.1 bzip2 -9 ./******************************.1 bzip2 -9 ./***************************.1 bzip2 -9 ./************************.1 bzip2 -9 ./*****************************.1 bzip2 -9 ./***********************************.1 bzip2 -9 ./*****************************.1 bzip2 -9 ./************************************.1 bzip2 -9 ./**************************.1 bzip2 -9 ./****************************.1 bzip2 -9 ./*****************************.1 bzip2 -9 ./*********************************.1 bzip2 -9 ./*******************************.1 bzip2 -9 ./******************************.1 bzip2 -9 ./**************************************.1 bzip2 -9 ./***************************.1 bzip2 -9 ./*******************************.1 bzip2 -9 ./******************************.1 bzip2 -9 ./*********************************.1 real 1m13.695s user 1m19.581s sys 0m1.516s
およそ10分の1に実行時間が短縮された。