関連はじめに仕事で非常に大きなファイル(10GB)をソートする必要がありました。大量の一時ファイルが配置されてしまい、ディスク不足で何度もハングしてしまいました。ハングしなかったとしても処理時間が大量にかかってしまっていました。うまい方法がないかを試した結果を共有します。コマンドでソートするという方針がそもそも、という意見もありますがリソース不足(金、モノ、時間)でこの方法を取ることになりました。8.22準備ソート対象となるデータファイルを作成します。業務で問題になったファイルサイズ(10GB)と比べると可愛いサイズとなっています。target.txt単純にソートしてみる単純にソートしてみます。3回試行してみることにします。データ容量が大きすぎる場合には処理が終わらない、Swap領域不足になる、メモリ不足で落ちるなどが起こりえますが、今回はソート可能な容量ですね。1-3.txt分割してソートしてみるこちらが大量データをソートするときに利用した方法です。先程同様3回試行してみることにします。処理が長くなっていますが簡単に説明すると以下のような処理になっています。いう声も上がりそうなので、並列処理なしの場合も計測してみます。実はそれほど大きな処理時間の差はありません。0m2.433sまとめそれぞれのソート方式にかかる処理時間は以下の通りでした。1m19.897sとなりました。最適な分割行数をどうやって特定するかは悩みどころ。ひとこと速度的な話にとどまりましたが、大量データがメモリ不足やスワップ不足でソートできないときにお使いください。