Reduce allocations and batch appends on StringUtil::replaceNonAlphanumericByUnderscores #1133
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.
@radcortez this is still a draft, but it:
StringBuilder
if not necessary (usually it happens)StringBuilder
's length for each appended ascii/numeric char (including performing bound checks over and over), but try hard performing an optimized batch appendI have to write a JMH bench to verify if it is much better (as I expect, given that while still C1 compiled, usually, having less work overall deliver better performance) or instead is better to split the state machine into different loops (not on this PR yet).
I'll provide a JMH benchmark to show if it brings the benefits I expect