对照工具选择
javas-core 和 java-object-diff ,对比demo https://github.com/kofgame/objectdiff-vs-javers,都为同源对比,都支持嵌套对象。
使用JMH测试方法进行性能测试,使用题库的QuestionResponseVO对象来进行对照对比,进行10轮测试,使用Mode.Throughput(单位时间吞吐量)和Mode.AverageTime(每次操作的平均时间)来进行对比,对比结果如下:
结果分析:
Benchmark: 程序名,其中javaObjectDiff为java-object-diff工具,javasCore为javas-core工具。
Mode: 程序中设定的 BenchmarkMode,其中Throughput(thrpt)为单位时间吞吐量,AverageTime(avgt)为每次操作的平均时间。
Cnt: 总的执行次数
Score: 分数,指标的值,从上图可知道,在thrpt模式下,javasCore的分数高于javaObjectDiff。在avgt模式下,javaObjectDiff的分数高于javasCore,所以可以得出,javasCore的性能高于javaObjectDiff。
Error: 数据的误差
Units: 单位