0

次のような固定された繰り返し形式のテキストファイルがいくつかあります。

Q 32,0 16
q 27
b 21
I 0
P 1
d 0
m 31,0
Q 48,0 16
q 27
b 2
I 2
P 1
d 0
m 31,0
.
.
.

それらをJavaで解析したい。私が知りたいのは、そのようなテキスト ファイルを解析する最速の方法です。ここでの唯一の要件は解析速度であるため、パフォーマンスに役立つ場合は、テキスト ファイルの出力形式を変更できます。外部ライブラリも使用できます。

4

1 に答える 1

5

解析の最速速度は、バイナリ形式を使用することです。ネイティブ バイト オーダーを使用することをお勧めします。この種のデータでは、1 秒あたり約 2,000 万エントリを読み取ることができるはずです。


高スループットかつ低レイテンシでバイナリ データを読み書きする例を次に示します。

https://github.com/peter-lawrey/Java-Chronicle

この形式は、書き込みと同時に読み取られるように設計されています (プロセス間の待ち時間は 1 マイクロ秒未満)。

必要なのは高いスループットだけだと思う​​ので、これよりも単純な形式を使用できます。;)

ところで: ライブラリは、メモリ マップされた ByteBuffer との間longで、double値ディレクトリなどのテキストの GC なしの読み取りと書き込みをサポートしています。そのため、1 秒あたり 100 万件を超える現実的なテキスト メッセージをサポートする高速テキスト ロガーとして使用できます。

于 2012-06-19T12:06:35.270 に答える