This repository has been archived by the owner on Jun 26, 2020. It is now read-only.
Used a cheaper type check in toMap function, to improve performance #323
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.
Suggested merge commit message (convention)
Other: Improved
toMap
method performance. This results with improved editor data processing speed. Closes ckeditor/ckeditor5#5854.Additional information
lodash'
isPlainObject
is a pretty performance expensive function, so should be avoided in places that are called frequently. This PR reverses the condition so a cheaper and more common condition is used first.Alternatively we could create our own, more optimized
isPlainObject
implementation, but since our code uses iterables for the most part here, it's enough to just reverse the condition check.You can use manual tests added in ckeditor/ckeditor5#5880 to have use performance tests.
There's a sub pr for this: ckeditor/ckeditor5-engine#1822.
Overview
tl;dr
RichEditor (short semantic setData)
Before:
After:
RichEditor (medium semantic setData)
Before:
After:
setData (full websites)
Before:
After: