src: use simdutf for two-byte string utf8 conversion in utf8 value - #62248
Conversation
|
Review requested:
|
f6d6f82 to
d459594
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 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
🚀 New features to boost your workflow:
|
dcbf493 to
fb16b2d
Compare
lemire
left a comment
There was a problem hiding this comment.
this look fine, see my comment.
This comment was marked as outdated.
This comment was marked as outdated.
19f636f to
1a357a0
Compare
Signed-off-by: Mert Can Altin <[email protected]>
1a357a0 to
0cb2a0b
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
request-ci
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.
This comment was marked as outdated.
|
Landed in 610fcd8 |
Signed-off-by: Mert Can Altin <[email protected]> PR-URL: #62248 Reviewed-By: Daniel Lemire <[email protected]> Reviewed-By: Gürgün Dayıoğlu <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
Signed-off-by: Mert Can Altin <[email protected]> PR-URL: #62248 Reviewed-By: Daniel Lemire <[email protected]> Reviewed-By: Gürgün Dayıoğlu <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
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 (***)