FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

src: use simdutf for two-byte string utf8 conversion in utf8 value by mertcanaltin · Pull Request #62248 · nodejs/node · GitHub

/ node Public

src: use simdutf for two-byte string utf8 conversion in utf8 value - #62248

Merged
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
mertcanaltin:mert/use-simdutf-for-two-byte-utf8
Aug 21, 2026
Merged

src: use simdutf for two-byte string utf8 conversion in utf8 value#62248
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
mertcanaltin:mert/use-simdutf-for-two-byte-utf8

Conversation

mertcanaltin commented Mar 14, 2026
edited
Loading

Copy link
Copy Markdown
Member

latin-1 already used simdutf #61696,

I changed WriteUtf8V2 to simdutf for two-byte strings.

➜  node git:(mert/use-simdutf-for-two-byte-utf8) ✗ node-benchmark-compare ./result.csv
                                                confidence improvement accuracy (*)   (**)  (***)
util/utf8-value.js n=5000000 type='ascii'                      -0.11 %       ±2.64% ±3.69% ±5.18%
util/utf8-value.js n=5000000 type='mixed'              ***     49.60 %       ±1.90% ±2.67% ±3.78%
util/utf8-value.js n=5000000 type='three_bytes'        ***     31.10 %       ±2.42% ±3.34% ±4.60%
util/utf8-value.js n=5000000 type='two_bytes'          ***     42.75 %       ±1.42% ±1.94% ±2.66%

Be aware that when doing many comparisons the risk of a false-positive result increases.
In this case, there are 4 comparisons, you can thus expect the following amount of false-positive results:
  0.20 false positives, when considering a   5% risk acceptance (*, **, ***),
  0.04 false positives, when considering a   1% risk acceptance (**, ***),
  0.00 false positives, when considering a 0.1% risk acceptance (***)

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/performance

nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. labels Mar 14, 2026
mertcanaltin force-pushed the mert/use-simdutf-for-two-byte-utf8 branch from f6d6f82 to d459594 Compare March 14, 2026 08:31

codecov Bot commented Mar 14, 2026
edited
Loading

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.32%. Comparing base (b2b7405) to head (0cb2a0b).
⚠️ Report is 184 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #62248      +/-   ##
==========================================
- Coverage   90.33%   90.32%   -0.02%     
==========================================
  Files         760      760              
  Lines      248523   248530       +7     
  Branches    46906    46892      -14     
==========================================
- Hits       224511   224481      -30     
- Misses      15451    15464      +13     
- Partials     8561     8585      +24     
Files with missing lines Coverage Δ
src/util.cc 87.16% <100.00%> (+0.20%) ⬆️

... and 30 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread src/util.cc Outdated
mertcanaltin force-pushed the mert/use-simdutf-for-two-byte-utf8 branch 5 times, most recently from dcbf493 to fb16b2d Compare March 14, 2026 17:12
mertcanaltin requested a review from lemire March 15, 2026 14:30
mcollina added the needs-benchmark-ci PR that need a benchmark CI run. label Mar 21, 2026
Comment thread src/util.cc Outdated

lemire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

this look fine, see my comment.

anonrig added the request-ci Add this label to start a Jenkins CI on a PR. label Apr 9, 2026
github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Apr 9, 2026

Copy link
Copy Markdown
Collaborator

This comment was marked as outdated.

github-actions Bot added the stale label Jul 28, 2026
mertcanaltin force-pushed the mert/use-simdutf-for-two-byte-utf8 branch from 19f636f to 1a357a0 Compare August 10, 2026 00:13
Signed-off-by: Mert Can Altin <mertgold60@gmail.com>
mertcanaltin force-pushed the mert/use-simdutf-for-two-byte-utf8 branch from 1a357a0 to 0cb2a0b Compare August 10, 2026 00:18
github-actions Bot removed the stale label Aug 10, 2026
anonrig added request-ci Add this label to start a Jenkins CI on a PR. author ready PRs that have at least one approval, no outstanding review comments, and a CI started. labels Aug 15, 2026
github-actions Bot added request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. and removed request-ci Add this label to start a Jenkins CI on a PR. labels Aug 15, 2026

This comment was marked as outdated.

MikeMcC399 added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 20, 2026
github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 20, 2026

This comment was marked as outdated.

MikeMcC399 added request-ci Add this label to start a Jenkins CI on a PR. and removed request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. labels Aug 20, 2026
github-actions Bot added request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. and removed request-ci Add this label to start a Jenkins CI on a PR. labels Aug 20, 2026

This comment was marked as outdated.

Copy link
Copy Markdown
Collaborator

MikeMcC399 removed the request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. label Aug 20, 2026

Copy link
Copy Markdown
Contributor

request-ci Add this label to start a Jenkins CI on a PR. was failing. It was trying to access information from the previous Jenkins run https://ci.nodejs.org/job/node-test-pull-request/72570/ from April 9, 2026, which was no longer available.

I started a new Jenkins job https://ci.nodejs.org/job/node-test-pull-request/76039/ manually in Jenkins and that is now running.

This comment was marked as outdated.

Copy link
Copy Markdown
Collaborator

trivikr added the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 21, 2026
nodejs-github-bot merged commit 610fcd8 into nodejs:main Aug 21, 2026
83 of 84 checks passed

Copy link
Copy Markdown
Collaborator

Landed in 610fcd8

nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 21, 2026
aduh95 pushed a commit that referenced this pull request Aug 25, 2026
Signed-off-by: Mert Can Altin <mertgold60@gmail.com>
PR-URL: #62248
Reviewed-By: Daniel Lemire <daniel@lemire.me>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
aduh95 pushed a commit that referenced this pull request Aug 25, 2026
Signed-off-by: Mert Can Altin <mertgold60@gmail.com>
PR-URL: #62248
Reviewed-By: Daniel Lemire <daniel@lemire.me>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
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

Labels

author ready PRs that have at least one approval, no outstanding review comments, and a CI started. c++ Issues and PRs that require attention from people who are familiar with C++. needs-benchmark-ci PR that need a benchmark CI run. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants


Back | FazBrowse Home | New Git URL