performance: small optimization when parsing svgs #2133
Merged
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.
Minor performance improvement for the parsing of SVGs. Instead of using a regular expression, we assume we should trim the string.
string#trimis faster thanRegExp#test. ¹string#trimseparately, but if we assume we should callstring#trim, then the string is already prepped as we proceed.¹ The only instance where
RegExp#testis faster for our use-case is when a string has obscene amounts of whitespace on either end (50+ chars). In the overwhelming majority of cases that we encounter, the amount of whitespace found is about what you'd expect from formatted XML, which is so little that trimming works out faster.Testing
I've checked and can confirm this has no impact on the final SVG for any of our regression tests.