Consistently use CharArrayPool in JsonWriter to cut cost of initializing char arrays #2093
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.
Issues
This pull request fixes issue #2074.
Description
Consistently use
CharArrayPool
inJsonWriter
to cut cost of initializing char arraysNotes:
CharArrayPool
is already used inJsonWriter
class. It was just not being passed along in some instances.CharArrayPool
parameter for the methods listed below because we only use it if the input has special characters. I decided to still pass the parameter just to keep things consistent and avoid confusion.WriteName(string)
/WriteNameAsync(string)
- name should not contain special charsWriteValue(long)
/WriteValueAsync(long)
- - special chars not expected when the value is converted to string (IEEE 754 compatible)WriteValue(decimal)
/WriteValueAsync(decimal)
- special chars not expected when the value is converted to string (IEEE 754 compatible)Checklist (Uncheck if it is not completed)
Additional work necessary
If documentation update is needed, please add "Docs Needed" label to the issue and provide details about the required document change in the issue.