我使用moxy作为大型结构,在95%的情况下,它就像魅力一样。它快速可靠。但我现在有一个具有相同类结构但数据不同的项目。现在我确实有很大的阅读影响力。编写完整的项目需要大约20秒,但读取需要超过450秒。书面文件大约280MB。 (通常阅读速度只有30%)
猜测我无法找到问题。但是如何在moxy中挖掘这个问题。
我尝试的第一件事是提供不同的Reader(BufferedInputStream,FileInputStream和文件)没有任何改变。我检查了XmlJavaTypeAdapter并设置了地图的defaultSize等。再没有任何改变。
所以也许有人有更好的主意。
[更新1]
在提取所有osgi部件并构建独立的java应用程序之后,我能够使用VisualVM来分析这个项目。我发现ReferenceResolver.getReference()消耗超过90%。所以我想我的Reference和ID设计得很糟糕。
[更新2]
创建了issue
答案 0 :(得分:1)
您发现了性能错误。
它被解决并且算法已经改变,大致减少时间复杂度n(输入的大小)。现在应该很快。在100%的情况下,May moxy魅力十足。
感谢您的贡献。