Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
The result of the static MergingNodeStateDiff.merge method is only used in the base case of a recursive diff. In all other cases while traversing the child diffs that result is simply discarded. As calculating the result involves an extra call to NodeBuilder.getNodeState it inflicts a performance penalty in the case of segment-tar: in that case this call causes the changes in the builder to be written ahead into the store. I figure it is simple enough to specialise the merge method in a way so that call is only done when its result is actually used.