deps: update simdutf to 9.1.0 and transcode UTF-8 writes in a single pass - #65390
Closed
lemire wants to merge 2 commits into
Closed
deps: update simdutf to 9.1.0 and transcode UTF-8 writes in a single pass#65390lemire wants to merge 2 commits into
lemire wants to merge 2 commits into
Conversation
Refresh deps/v8/third_party/simdutf from the v9.1.0 single-header release (upstream 2d4e249d). Refs: https://github.com/simdutf/simdutf/releases/tag/v9.1.0 Signed-off-by: Daniel Lemire <[email protected]>
StringBytes::Write() validated UTF-16 and, on unpaired surrogates, copied through to_well_formed_utf16() before converting. simdutf 9.1.0 can replace unpaired surrogates during the convert, so drop the extra pass. Signed-off-by: Daniel Lemire <[email protected]>
Collaborator
|
Review requested:
|
Contributor
|
Benchmark GHA (buffers / buffer-write-string-utf8): https://github.com/nodejs/node/actions/runs/32170665721 |
Member
Author
|
@anonrig was first to push this feature to simdutf ( |
Collaborator
codebytere
approved these changes
Aug 18, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #65390 +/- ##
==========================================
+ Coverage 90.14% 90.19% +0.05%
==========================================
Files 752 752
Lines 251870 251866 -4
Branches 47365 47407 +42
==========================================
+ Hits 227037 227180 +143
+ Misses 16177 16031 -146
+ Partials 8656 8655 -1
🚀 New features to boost your workflow:
|
Member
Author
|
@anonrig Chromium is at 7.7.0. Let us see if we can't get them to update. |
Member
Author
|
I'm closing this, but let us remember to come back to it. For now, what @codebytere did works fine. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Follow-up to #65324.
Update
deps/v8/third_party/simdutffrom 7.7.0 to 9.1.0 (upstream2d4e249d, single-header release).
StringBytes::Write()then usesconvert_utf16_to_utf8_with_replacement()so two-byte UTF-8 writes nolonger validate and copy through
to_well_formed_utf16(). Unpairedsurrogates still become U+FFFD. Truncating writes and strings of 32
code units or fewer still go through V8.
benchmark/buffers/buffer-write-string-utf8.json Linux x64 (Xeon Gold6548N, 20 runs, significance as in
compare.R):Refs: https://github.com/simdutf/simdutf/releases/tag/v9.1.0
Refs: #65324