データ構造をうまく作れば、シェルスクリプトで高速・簡潔に処理できる。 さらにうまく作れば、for文での処理を全てバックグラウンド実行にして マルチスレッドを活かした高速処理ができる。
for文で順次処理するようなものの場合、処理対象の独立性を 確保しておけば、
#!/bin/zsh -f for d in */*; do $d の処理 done 後続処理
とかいう処理を、
#!/bin/zsh -f for d in */*; do $d の処理 & done wait 後続処理
とすると並列処理になる。いままで気付かなかったのが悔やまれる。 64スレッド使えるSolaris10/sparcマシンでの268件が対象の処理で、 これまで約100秒かかってたのが10秒以下になった。 「sparcおせー」とか言ってごめんよー。