多くのギガバイトのテキストデータを処理していますが、パフォーマンスを向上させる方法があるかどうかは疑問でした。たとえば、10ギガバイトのデータを処理していないときに、1行ずつ繰り返し処理する場合は、約3分かかります。BufferedReaderの速度を向上させる
基本的に私はBufferedReaderを含むdataIteratorラッパーを持っています。私はこのイテレータを続けて呼び出し、次の行を返します。
文字列の数が問題になっていますか?または、おそらく関数呼び出しの数。私はjarとしてコンパイルされ、STAFサービスとして使用されるため、このアプリケーションのプロファイル方法を実際には分かりません。
すべてのアイデアは高く評価されていますか?
真実。 3分で10GBは55MB /秒です。これは、プラッタベースのディスクドライブの従来の読み取りパフォーマンスに近づいています。あなたは本当に良い状況でそれを2倍または3倍にするかもしれませんが、RAMベースのドライブがなければ、それだけです。 – Jherico
Jherico>または「インデックスを追加する」または同様のものです。 –
私は従いません。 IOバインディングを使用している場合、どのように索引を作成すると役立ちますか?アプリケーションの検索のようには聞こえません。ログ処理やインデックス作成のように、データを順番に処理しているようです。 – Jherico