-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve XmlDictionaryWriter UTF8 encoding performance #73336
Merged
Merged
Changes from 14 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
5d09005
Speed up text encoding
Daniel-Svensson 63c760c
Update implementation
Daniel-Svensson 196ce48
Add tests for binary xml strings
Daniel-Svensson 65e7029
Merge branch 'binary_xml_text' of https://github.com/Daniel-Svensson/…
Daniel-Svensson 4d8078a
limit counting code to 256 bit vectors
Daniel-Svensson 6e5aabb
reword comment
Daniel-Svensson 70fa189
rename test
Daniel-Svensson b34d259
move bytesmax
Daniel-Svensson 5df5ae0
Fix bytesMax after moving variable initialization
Daniel-Svensson a790fbb
use unicode escape value in test
Daniel-Svensson 2b82ac8
fix test typo "*" -> "+"
Daniel-Svensson 301e531
Update src/libraries/System.Private.DataContractSerialization/src/Sys…
Daniel-Svensson 5a21306
Remvoe vectorized code from UnsafeGetUTF8Length
Daniel-Svensson 8a3de26
Merge remote-tracking branch 'upstream/main' into binary_xml_text
Daniel-Svensson 048cade
Fix overfload
Daniel-Svensson 8297311
Merge commit '080f708e7018f6c0529b6c875a44d84fc4d74419' into binary_x…
Daniel-Svensson 287e737
use for loop which seems faster
Daniel-Svensson 0d2a9bb
merge up to net8 preview1
Daniel-Svensson ab29682
remove vector loop
Daniel-Svensson 251391f
make sealed encoding to allow devirtualisation
Daniel-Svensson a590739
back some changes
Daniel-Svensson 46b6314
use uint for UnsafeGetUTF8Chars comparison
Daniel-Svensson 82f8880
revert more changes
Daniel-Svensson d78aade
Fix cutoff based on new measurements
Daniel-Svensson 3b20be8
use BinaryPrimitives.ReverseEndianness as suggested
Daniel-Svensson 9c86b05
Update cutoff from 24 to 32 chars before calling, due to regression f…
Daniel-Svensson ccfb008
Remove sealed encoding since it only improves XmlConvert
Daniel-Svensson File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Possible integer overflow.
(I know in this case it's ok since
buffer.Length
has to fit within a signed int32, but it makes this code very fragile and opens a possible hole should we introduce support for large arrays or should this code be copied & pasted to another method where this invariant does not hold.)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed