Rework append for better memory efficiency #1156
Open
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.
Trying to optimize the append method to improve memory efficiency and reduce object allocations. Previously, the code relied on the
textWithoutEscapeChar
method, which involved converting the internalStringBuilder
to aString
and then to achar[]
. My goal here is to reduce unnecessary intermediate allocations and processing overhead.Changes Introduced
textWithoutEscapeChar
to avoid the conversion chain (StringBuilder
→String
→char[]
).Alternative Consideration:
An alternative approach considered was to rewrite the
textWithoutEscapeChar
method for better performance. The revised method would look like this:This version avoids converting the
StringBuilder
to aString
and directly copies the characters into achar[]
, reducing unnecessary overhead.Future Enhancements:
There is a potential case to investigate the frequent resizing of the
StringBuilder
used inText
. Pre-sizing theStringBuilder
to an appropriate capacity may further improve performance and memory usage.