0

(~140) の複雑なオブジェクトを含む大きな json ファイル (~3.5 MB) があり、オブジェクト グラフの最大深度は約 4 ~ 5 です。Gson を使用して解析していますが、非常に遅いです。何らかの方法で解析しようとしましたが (混合解析やストリームを使用して解析するなど)、パフォーマンスを向上させることはできませんでした。

オブジェクトのベース ID のみを解析すると、Memory Analizer がメモリ (70-80%) を殺します。解析中、メモリには 400 ~ 500k のオブジェクトがあります (ほとんどが文字列と文字)。

オブジェクトグラフがそれほど深くない場合、解析はより効率的になりますか? どうすればもっと良くなるか、良いアイデアはありますか?他のライブラリ (Jackson など) も試しましたが、パフォーマンスは良くありませんでした。

4

1 に答える 1

0

Jackson を使用することで、パフォーマンスが向上しました。json 全体をメモリにロードするのではなく、createJsonParser(Reader r) を使用する必要があります。それがうまくいかない場合は、データを分割して別のスレッドを使用してみてください。CPU がシングル スレッド バージョンで完全にロードされていない場合は意味があります。それ以外の場合は、JNI json 解析の実装を使用してみてください。

于 2012-11-06T20:58:00.467 に答える