perf(core): improve vdom diffing by removing unnecessary conditional statement in getSequence function #3928
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Here is some simple explanation for this pr.
For the removal of conditional statement if (arrI < arr[result[u]]):
Before the while loop at line 2479, the arrI variable always less than the last item of the result array,
so after this loop, arrI always less than the result[v],
and after this loop, the v always equals to u,
so we don't need the arrI < arr[result[u]] statement.
For the result array init const result = []:
Actually, this change make the result variable different from original,but it don't effect the children patch result.
Original getSequence([0, 1, 8, 7, 9, 5]) will be[0, 1, 3, 4], now it's [1, 3, 4].