我有一个很大的json文件(~3.5MB),包含(~140)个复杂对象,对象图中的最大深度约为4-5。我使用Gson来解析它,但它真的很慢。我已经尝试了一些方法来解析它(比如混合解析或使用流解析),但是我不能提高性能。
我检查了内存分析器,如果我只解析对象的基本Id,它会杀死内存(70-80%)。在解析时,内存中有400-500k的对象(主要是字符串和字符)。
如果对象图不是那么深,解析会更有效吗?你知道怎样才能做得更好吗?我也尝试过其他库(比如Jackson),但性能并不好。
发布于 2012-11-07 04:58:00
我通过使用Jackson获得了一些很好的性能提升-你不应该将整个json加载到内存中,而应该使用createJsonParser(Reader )。如果它对您不起作用,那么尝试拆分数据并使用单独的线程-如果单线程版本没有完全加载CPU,这是有意义的。否则,请尝试使用JNI json解析实现。
https://stackoverflow.com/questions/13259000
复制相似问题