ドキュメント内のパターンを検索するために使用する文字列の大きな(200Kを超える)配列があります。配列内の各エントリを正規表現に変換してから、ドキュメントに適用します。これを行うと、配列を調べて検索を順番に実行するのにかかる時間が劇的に長くなります。これは、検索を実行する前に各正規表現に順番に適用するPattern.compileステートメントに対して行われると思います。正規表現を事前にコンパイルすることはこれを回避する方法かもしれませんが、これを行うとメモリ使用量が劇的に増加することに気づきました。プリコンパイルする前に、Javaアプリケーションは約1.5ギガバイトのサイズのVMで実行されます。プリコンパイル後、Javaプログラムは約14ギガのサイズのVMで実行されます。
この問題を回避したり、プログラムをより効率的に実行したりするためのエレガントな方法はありますか?
ありがとうございました、
エリオット