SORTKIT

高性能ソート&マージユーティリティ
http://www.ace.comp.nec.co.jp/sortkit/
を使っていて、nsortコマンドのレコード再編成オプション-Aで区切り文字(タブorバー)以外を取得していたが、-Aでバイト指定できる項目が64個以内という制限があった。そこでtrコマンドの-dオプション(文字削除)で区切り文字を削除するという実装に切り替えたのだが、性能が問題になった。単体テスト時はどちらもあっという間なのだが、数百MBのテキストファイルを処理するとtr -dでは遅いらしい。あとは、

tr -d '?t' < ${中間ファイル} > ${出力ファイル} &2>1

という具合に、中間ファイルを途中で作成してディスクIOが増えるのも多重起動で遅くなる原因らしい。結局、Oracleでテキストファイルを作成する際に区切り文字をなくす実装に変更。