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.
From what I read in #15220, you seem to use this function in hot codepaths. It's going to hurt the performance to have that many memory allocations all over the place. Also the implementation has a small issue,
indexOf(...) || 0
is incorrect, the empty value ofindexOf()
is-1
.I benchmarked a few different versions to illustrate the difference:
So even a change as small as moving the static line
const symbolNames = 'circle cross diamond square star triangle wye'.split(/ /)
to the outside of the function makes the function 2-3x faster, and diminishes the amount of time spent doing GC work.