GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — url: enable simdutf for ada by anonrig · Pull Request #61477 · nodejs/node

Conversation

@anonrig

@anonrig anonrig commented Jan 22, 2026 •
edited by aduh95
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Speeds up encoding operations.

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1785/

Results
confidence improvement accuracy (*)    (**)   (***)
url/legacy-url-get-prop.js e=1 type='auth'                                                                                                     -1.42 %       ±3.99%  ±5.32%  ±6.95%
url/legacy-url-get-prop.js e=1 type='dot'                                                                                                       0.65 %       ±3.22%  ±4.30%  ±5.64%
url/legacy-url-get-prop.js e=1 type='file'                                                                                               *     -6.03 %       ±4.97%  ±6.69%  ±8.85%
url/legacy-url-get-prop.js e=1 type='idn'                                                                                                *     -2.94 %       ±2.85%  ±3.83%  ±5.06%
url/legacy-url-get-prop.js e=1 type='javascript'                                                                                               -1.00 %       ±2.95%  ±3.93%  ±5.11%
url/legacy-url-get-prop.js e=1 type='long'                                                                                                      1.65 %       ±7.97% ±10.60% ±13.81%
url/legacy-url-get-prop.js e=1 type='percent'                                                                                                   0.13 %       ±4.86%  ±6.47%  ±8.42%
url/legacy-url-get-prop.js e=1 type='short'                                                                                                    -0.17 %       ±4.01%  ±5.33%  ±6.95%
url/legacy-url-get-prop.js e=1 type='wpt'                                                                                                      13.73 %      ±15.41% ±20.61% ±27.05%
url/legacy-url-get-prop.js e=1 type='ws'                                                                                                        1.25 %       ±3.87%  ±5.15%  ±6.71%
url/legacy-url-parse.js e=1 type='auth'                                                                                                  *     22.45 %      ±22.07% ±29.36% ±38.21%
url/legacy-url-parse.js e=1 type='dot'                                                                                                          0.12 %       ±0.94%  ±1.25%  ±1.62%
url/legacy-url-parse.js e=1 type='file'                                                                                                        -0.98 %       ±2.00%  ±2.67%  ±3.51%
url/legacy-url-parse.js e=1 type='idn'                                                                                                         -1.31 %       ±1.85%  ±2.48%  ±3.27%
url/legacy-url-parse.js e=1 type='javascript'                                                                                            *      1.25 %       ±0.98%  ±1.30%  ±1.69%
url/legacy-url-parse.js e=1 type='long'                                                                                                        17.49 %      ±20.69% ±27.54% ±35.88%
url/legacy-url-parse.js e=1 type='percent'                                                                                                      0.44 %       ±1.81%  ±2.42%  ±3.18%
url/legacy-url-parse.js e=1 type='short'                                                                                                        0.06 %       ±0.69%  ±0.92%  ±1.20%
url/legacy-url-parse.js e=1 type='wpt'                                                                                                          4.09 %       ±5.09%  ±6.79%  ±8.86%
url/legacy-url-parse.js e=1 type='ws'                                                                                                          -5.12 %      ±20.93% ±27.84% ±36.24%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='altspaces'                                                0.17 %       ±0.59%  ±0.78%  ±1.02%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodefake'                                        *      1.14 %       ±1.11%  ±1.47%  ±1.92%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodelast'                                               0.29 %       ±1.16%  ±1.55%  ±2.03%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodemany'                                              -0.29 %       ±1.20%  ±1.60%  ±2.09%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manyblankpairs'                                           0.90 %       ±1.82%  ±2.42%  ±3.16%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manypairs'                                               -0.45 %       ±1.39%  ±1.85%  ±2.41%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multicharsep'                                            -0.06 %       ±1.16%  ±1.54%  ±2.00%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivalue'                                              -0.78 %       ±1.16%  ±1.55%  ±2.01%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivaluemany'                                           0.83 %       ±1.53%  ±2.04%  ±2.67%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='noencode'                                                 0.01 %       ±0.93%  ±1.24%  ±1.61%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='altspaces'                                               -0.63 %       ±0.90%  ±1.20%  ±1.57%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodefake'                                        *     -1.19 %       ±1.13%  ±1.51%  ±1.97%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodelast'                                              -0.31 %       ±0.94%  ±1.25%  ±1.63%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodemany'                                               0.09 %       ±0.46%  ±0.62%  ±0.80%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                           0.10 %       ±2.15%  ±2.87%  ±3.73%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manypairs'                                               -0.31 %       ±1.22%  ±1.62%  ±2.11%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multicharsep'                                            -0.01 %       ±0.90%  ±1.20%  ±1.56%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivalue'                                               0.44 %       ±1.19%  ±1.59%  ±2.08%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivaluemany'                                    *     -0.52 %       ±0.51%  ±0.68%  ±0.89%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='noencode'                                                -0.99 %       ±1.59%  ±2.12%  ±2.76%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='altspaces'                                           -0.19 %       ±0.62%  ±0.82%  ±1.07%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodefake'                                          -0.12 %       ±0.74%  ±0.98%  ±1.28%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodelast'                                          -0.09 %       ±1.33%  ±1.77%  ±2.31%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodemany'                                          -0.06 %       ±1.33%  ±1.77%  ±2.30%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manyblankpairs'                                       2.58 %       ±4.84%  ±6.44%  ±8.39%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manypairs'                                     *     -1.61 %       ±1.54%  ±2.05%  ±2.67%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multicharsep'                                         0.54 %       ±1.27%  ±1.69%  ±2.20%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivalue'                                           0.20 %       ±0.99%  ±1.32%  ±1.72%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivaluemany'                                *     -0.96 %       ±0.87%  ±1.16%  ±1.51%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='noencode'                                             0.20 %       ±1.06%  ±1.41%  ±1.84%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='altspaces'                                           -0.28 %       ±0.63%  ±0.84%  ±1.10%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodefake'                                           0.10 %       ±0.75%  ±1.00%  ±1.30%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodelast'                                           0.24 %       ±1.04%  ±1.39%  ±1.80%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodemany'                                           0.62 %       ±0.98%  ±1.31%  ±1.70%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                      -0.50 %       ±1.94%  ±2.58%  ±3.36%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manypairs'                                            0.28 %       ±1.05%  ±1.40%  ±1.82%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multicharsep'                                        -0.33 %       ±0.90%  ±1.20%  ±1.57%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivalue'                                          -0.76 %       ±0.79%  ±1.06%  ±1.39%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivaluemany'                                       0.15 %       ±0.40%  ±0.54%  ±0.70%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='noencode'                                            -0.48 %       ±0.68%  ±0.91%  ±1.19%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='auth'                                                                           1.25 %       ±2.79%  ±3.74%  ±4.94%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='dot'                                                                           -1.14 %       ±3.14%  ±4.21%  ±5.57%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='file'                                                                          -0.94 %       ±1.84%  ±2.45%  ±3.21%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='idn'                                                                            0.33 %       ±3.74%  ±4.97%  ±6.48%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='javascript'                                                                     0.32 %       ±0.94%  ±1.26%  ±1.65%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='long'                                                                          -0.58 %       ±3.41%  ±4.54%  ±5.91%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='percent'                                                                        2.44 %       ±3.42%  ±4.60%  ±6.10%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='short'                                                                         -0.96 %       ±1.00%  ±1.33%  ±1.73%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='wpt'                                                                            1.37 %       ±3.63%  ±4.84%  ±6.33%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='ws'                                                                            -0.74 %       ±2.73%  ±3.65%  ±4.81%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='auth'                                                                           0.21 %       ±0.70%  ±0.93%  ±1.21%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='dot'                                                                            1.50 %       ±3.60%  ±4.79%  ±6.25%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='file'                                                                           1.58 %       ±3.04%  ±4.09%  ±5.41%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='idn'                                                                            0.50 %       ±3.50%  ±4.66%  ±6.07%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='javascript'                                                                    -1.53 %       ±2.79%  ±3.74%  ±4.95%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='long'                                                                          -0.31 %       ±3.94%  ±5.24%  ±6.82%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='percent'                                                                        0.14 %       ±0.94%  ±1.26%  ±1.64%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='short'                                                                         -0.03 %       ±0.84%  ±1.12%  ±1.45%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='wpt'                                                                            0.66 %       ±3.51%  ±4.67%  ±6.09%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='ws'                                                                            -0.05 %       ±1.04%  ±1.39%  ±1.82%
url/url-format.js n=25000000 type='file'                                                                                                       -0.28 %       ±1.35%  ±1.79%  ±2.33%
url/url-format.js n=25000000 type='slashes'                                                                                                     0.91 %       ±1.40%  ±1.86%  ±2.42%
url/url-parse.js n=10000000 type='escaped'                                                                                                     -0.33 %       ±0.79%  ±1.06%  ±1.38%
url/url-parse.js n=10000000 type='normal'                                                                                              ***     -1.37 %       ±0.43%  ±0.58%  ±0.75%
url/url-resolve.js n=100000 path='down' href='auth'                                                                                            -0.11 %       ±0.71%  ±0.95%  ±1.24%
url/url-resolve.js n=100000 path='down' href='dot'                                                                                              0.16 %       ±0.73%  ±0.97%  ±1.27%
url/url-resolve.js n=100000 path='down' href='file'                                                                                             0.47 %       ±0.80%  ±1.07%  ±1.39%
url/url-resolve.js n=100000 path='down' href='idn'                                                                                     ***     -1.41 %       ±0.70%  ±0.93%  ±1.22%
url/url-resolve.js n=100000 path='down' href='javascript'                                                                                       0.49 %       ±1.38%  ±1.84%  ±2.40%
url/url-resolve.js n=100000 path='down' href='long'                                                                                             0.30 %       ±0.49%  ±0.65%  ±0.85%
url/url-resolve.js n=100000 path='down' href='noscheme'                                                                                         0.58 %       ±1.27%  ±1.69%  ±2.20%
url/url-resolve.js n=100000 path='down' href='percent'                                                                                          0.29 %       ±0.43%  ±0.58%  ±0.75%
url/url-resolve.js n=100000 path='down' href='short'                                                                                           -0.11 %       ±0.83%  ±1.11%  ±1.44%
url/url-resolve.js n=100000 path='down' href='ws'                                                                                              -0.15 %       ±0.55%  ±0.73%  ±0.95%
url/url-resolve.js n=100000 path='foo/bar' href='auth'                                                                                         -0.21 %       ±0.76%  ±1.01%  ±1.32%
url/url-resolve.js n=100000 path='foo/bar' href='dot'                                                                                           0.04 %       ±0.98%  ±1.30%  ±1.70%
url/url-resolve.js n=100000 path='foo/bar' href='file'                                                                                         -0.07 %       ±1.01%  ±1.35%  ±1.76%
url/url-resolve.js n=100000 path='foo/bar' href='idn'                                                                                   **     -1.86 %       ±1.09%  ±1.45%  ±1.89%
url/url-resolve.js n=100000 path='foo/bar' href='javascript'                                                                                    0.65 %       ±1.45%  ±1.93%  ±2.51%
url/url-resolve.js n=100000 path='foo/bar' href='long'                                                                                         -0.06 %       ±0.45%  ±0.59%  ±0.77%
url/url-resolve.js n=100000 path='foo/bar' href='noscheme'                                                                                     -0.12 %       ±1.28%  ±1.71%  ±2.22%
url/url-resolve.js n=100000 path='foo/bar' href='percent'                                                                                       0.19 %       ±1.00%  ±1.33%  ±1.74%
url/url-resolve.js n=100000 path='foo/bar' href='short'                                                                                        -0.04 %       ±1.04%  ±1.38%  ±1.80%
url/url-resolve.js n=100000 path='foo/bar' href='ws'                                                                                           -0.16 %       ±0.63%  ±0.84%  ±1.10%
url/url-resolve.js n=100000 path='sibling' href='auth'                                                                                          0.25 %       ±0.63%  ±0.84%  ±1.10%
url/url-resolve.js n=100000 path='sibling' href='dot'                                                                                           0.28 %       ±0.59%  ±0.79%  ±1.03%
url/url-resolve.js n=100000 path='sibling' href='file'                                                                                         -0.27 %       ±0.82%  ±1.09%  ±1.41%
url/url-resolve.js n=100000 path='sibling' href='idn'                                                                                  ***     -1.03 %       ±0.33%  ±0.44%  ±0.57%
url/url-resolve.js n=100000 path='sibling' href='javascript'                                                                                   -0.65 %       ±1.02%  ±1.36%  ±1.77%
url/url-resolve.js n=100000 path='sibling' href='long'                                                                                          0.24 %       ±0.48%  ±0.63%  ±0.83%
url/url-resolve.js n=100000 path='sibling' href='noscheme'                                                                                      0.22 %       ±0.83%  ±1.11%  ±1.44%
url/url-resolve.js n=100000 path='sibling' href='percent'                                                                                      -0.20 %       ±0.83%  ±1.10%  ±1.43%
url/url-resolve.js n=100000 path='sibling' href='short'                                                                                         0.44 %       ±0.77%  ±1.03%  ±1.34%
url/url-resolve.js n=100000 path='sibling' href='ws'                                                                                           -0.45 %       ±0.57%  ±0.76%  ±0.99%
url/url-resolve.js n=100000 path='up' href='auth'                                                                                              -0.13 %       ±0.66%  ±0.87%  ±1.14%
url/url-resolve.js n=100000 path='up' href='dot'                                                                                               -0.46 %       ±0.59%  ±0.78%  ±1.02%
url/url-resolve.js n=100000 path='up' href='file'                                                                                              -0.59 %       ±0.79%  ±1.06%  ±1.38%
url/url-resolve.js n=100000 path='up' href='idn'                                                                                       ***     -1.13 %       ±0.46%  ±0.61%  ±0.79%
url/url-resolve.js n=100000 path='up' href='javascript'                                                                                         0.14 %       ±0.76%  ±1.01%  ±1.32%
url/url-resolve.js n=100000 path='up' href='long'                                                                                              -0.18 %       ±0.34%  ±0.45%  ±0.59%
url/url-resolve.js n=100000 path='up' href='noscheme'                                                                                           0.03 %       ±0.92%  ±1.23%  ±1.60%
url/url-resolve.js n=100000 path='up' href='percent'                                                                                           -0.13 %       ±0.75%  ±1.00%  ±1.30%
url/url-resolve.js n=100000 path='up' href='short'                                                                                             -0.49 %       ±0.77%  ±1.03%  ±1.34%
url/url-resolve.js n=100000 path='up' href='ws'                                                                                                 0.20 %       ±0.68%  ±0.90%  ±1.18%
url/url-resolve.js n=100000 path='withscheme' href='auth'                                                                                      -0.56 %       ±0.83%  ±1.10%  ±1.43%
url/url-resolve.js n=100000 path='withscheme' href='dot'                                                                                       -0.57 %       ±0.97%  ±1.29%  ±1.68%
url/url-resolve.js n=100000 path='withscheme' href='file'                                                                                      -0.53 %       ±1.18%  ±1.57%  ±2.04%
url/url-resolve.js n=100000 path='withscheme' href='idn'                                                                               ***     -1.35 %       ±0.53%  ±0.70%  ±0.92%
url/url-resolve.js n=100000 path='withscheme' href='javascript'                                                                                -0.55 %       ±0.93%  ±1.24%  ±1.61%
url/url-resolve.js n=100000 path='withscheme' href='long'                                                                                       0.01 %       ±0.41%  ±0.55%  ±0.72%
url/url-resolve.js n=100000 path='withscheme' href='noscheme'                                                                                  -0.57 %       ±1.24%  ±1.66%  ±2.16%
url/url-resolve.js n=100000 path='withscheme' href='percent'                                                                                   -0.26 %       ±1.11%  ±1.48%  ±1.94%
url/url-resolve.js n=100000 path='withscheme' href='short'                                                                                     -0.14 %       ±1.00%  ±1.34%  ±1.75%
url/url-resolve.js n=100000 path='withscheme' href='ws'                                                                                        -0.23 %       ±0.83%  ±1.11%  ±1.44%
url/url-searchparams-append.js n=1000 type='URL'                                                                                               -2.28 %       ±2.97%  ±3.95%  ±5.14%
url/url-searchparams-append.js n=1000 type='URLSearchParams'                                                                                   -0.58 %       ±3.44%  ±4.59%  ±6.01%
url/url-searchparams-append.js n=1000000 type='URL'                                                                                             1.44 %       ±2.70%  ±3.60%  ±4.70%
url/url-searchparams-append.js n=1000000 type='URLSearchParams'                                                                          *      2.70 %       ±2.60%  ±3.46%  ±4.51%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='array'                                                                   -0.28 %       ±1.14%  ±1.52%  ±1.97%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodelast'                                                              -1.42 %       ±1.45%  ±1.94%  ±2.52%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodemany'                                                              -0.33 %       ±1.42%  ±1.89%  ±2.47%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='multiprimitives'                                                          0.14 %       ±1.52%  ±2.02%  ±2.63%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='noencode'                                                                -0.20 %       ±1.28%  ±1.71%  ±2.22%
url/url-searchparams-creation.js n=1000000 inputType='object' type='array'                                                                     -0.09 %       ±0.56%  ±0.74%  ±0.96%
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodelast'                                                                -0.31 %       ±0.77%  ±1.02%  ±1.33%
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodemany'                                                                 0.08 %       ±0.80%  ±1.06%  ±1.39%
url/url-searchparams-creation.js n=1000000 inputType='object' type='multiprimitives'                                                           -0.61 %       ±0.67%  ±0.89%  ±1.17%
url/url-searchparams-creation.js n=1000000 inputType='object' type='noencode'                                                                  -0.14 %       ±0.78%  ±1.04%  ±1.36%
url/url-searchparams-creation.js n=1000000 inputType='string' type='array'                                                                      0.42 %       ±0.88%  ±1.17%  ±1.53%
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodelast'                                                                -0.25 %       ±1.30%  ±1.73%  ±2.25%
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodemany'                                                                -0.28 %       ±1.18%  ±1.58%  ±2.05%
url/url-searchparams-creation.js n=1000000 inputType='string' type='multiprimitives'                                                            0.24 %       ±1.56%  ±2.08%  ±2.70%
url/url-searchparams-creation.js n=1000000 inputType='string' type='noencode'                                                                  -0.71 %       ±1.00%  ±1.33%  ±1.74%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='empty'                                                               -0.14 %       ±1.61%  ±2.15%  ±2.80%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='large'                                                         *      0.78 %       ±0.70%  ±0.94%  ±1.24%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='medium'                                                               0.08 %       ±0.70%  ±0.92%  ±1.20%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='small'                                                                0.24 %       ±0.66%  ±0.88%  ±1.14%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='empty'                                                                  -0.44 %       ±1.81%  ±2.40%  ±3.13%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='large'                                                                  -0.14 %       ±1.38%  ±1.83%  ±2.39%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='medium'                                                                  0.00 %       ±0.63%  ±0.84%  ±1.10%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='small'                                                                  -0.32 %       ±0.74%  ±0.99%  ±1.29%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='empty'                                                                -0.71 %       ±1.68%  ±2.23%  ±2.91%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='large'                                                                -0.49 %       ±1.18%  ±1.58%  ±2.05%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='medium'                                                               -0.29 %       ±0.58%  ±0.77%  ±1.00%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='small'                                                                 0.26 %       ±0.85%  ±1.13%  ±1.48%
url/url-searchparams-inspect.js n=100000 kind='params' variant='empty'                                                                         -0.30 %       ±3.73%  ±4.97%  ±6.47%
url/url-searchparams-inspect.js n=100000 kind='params' variant='large'                                                                         -0.13 %       ±1.05%  ±1.40%  ±1.83%
url/url-searchparams-inspect.js n=100000 kind='params' variant='medium'                                                                         0.00 %       ±0.67%  ±0.89%  ±1.15%
url/url-searchparams-inspect.js n=100000 kind='params' variant='small'                                                                         -0.14 %       ±0.73%  ±0.97%  ±1.26%
url/url-searchparams-iteration.js n=1000000 loopMethod='forEach'                                                                               -1.72 %       ±2.99%  ±3.98%  ±5.18%
url/url-searchparams-iteration.js n=1000000 loopMethod='iterator'                                                                              -1.03 %       ±1.50%  ±1.99%  ±2.59%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='get'                                                                 -0.74 %       ±1.33%  ±1.79%  ±2.36%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='getAll'                                                               0.24 %       ±0.59%  ±0.78%  ±1.01%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='has'                                                                 -0.61 %       ±1.03%  ±1.37%  ±1.79%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='get'                                                                          1.13 %       ±3.28%  ±4.37%  ±5.69%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='getAll'                                                                      -0.03 %       ±1.37%  ±1.82%  ±2.38%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='has'                                                                          0.87 %       ±3.16%  ±4.21%  ±5.48%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='get'                                                                        2.02 %       ±2.81%  ±3.74%  ±4.86%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='getAll'                                                                    -0.12 %       ±1.85%  ±2.47%  ±3.21%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='has'                                                                       -1.29 %       ±3.15%  ±4.19%  ±5.45%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='get'                                                                         -0.96 %       ±2.67%  ±3.55%  ±4.62%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='getAll'                                                                       0.44 %       ±1.03%  ±1.37%  ±1.78%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='has'                                                                          0.77 %       ±2.28%  ±3.04%  ±3.95%
url/url-searchparams-sort.js n=1000000 type='almostsorted'                                                                                      1.03 %       ±2.78%  ±3.71%  ±4.83%
url/url-searchparams-sort.js n=1000000 type='empty'                                                                                             0.61 %       ±4.11%  ±5.48%  ±7.15%
url/url-searchparams-sort.js n=1000000 type='long'                                                                                             -0.87 %       ±1.00%  ±1.33%  ±1.74%
url/url-searchparams-sort.js n=1000000 type='random'                                                                                           -0.67 %       ±2.97%  ±3.95%  ±5.17%
url/url-searchparams-sort.js n=1000000 type='reversed'                                                                                         -0.53 %       ±2.71%  ±3.61%  ±4.71%
url/url-searchparams-sort.js n=1000000 type='short'                                                                                            -2.98 %       ±4.37%  ±5.82%  ±7.58%
url/url-searchparams-sort.js n=1000000 type='sorted'                                                                                           -0.79 %       ±2.19%  ±2.91%  ±3.79%
url/url-searchparams-sort.js n=1000000 type='wpt'                                                                                               3.97 %       ±5.86%  ±7.80% ±10.17%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='array'                                                                    0.38 %       ±0.73%  ±0.97%  ±1.27%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodelast'                                                               0.07 %       ±0.94%  ±1.26%  ±1.64%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodemany'                                                              -0.70 %       ±1.19%  ±1.58%  ±2.06%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='multiprimitives'                                                          0.42 %       ±0.88%  ±1.18%  ±1.54%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='noencode'                                                                -0.21 %       ±0.66%  ±0.87%  ±1.14%
url/url-searchparams-toString.js n=1000000 inputType='object' type='array'                                                                     -0.28 %       ±0.86%  ±1.14%  ±1.49%
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodelast'                                                                -0.43 %       ±1.00%  ±1.33%  ±1.72%
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodemany'                                                                 0.23 %       ±0.95%  ±1.26%  ±1.64%
url/url-searchparams-toString.js n=1000000 inputType='object' type='multiprimitives'                                                           -0.53 %       ±0.74%  ±0.99%  ±1.30%
url/url-searchparams-toString.js n=1000000 inputType='object' type='noencode'                                                                  -0.08 %       ±0.61%  ±0.81%  ±1.05%
url/url-searchparams-toString.js n=1000000 inputType='string' type='array'                                                                      0.50 %       ±0.67%  ±0.89%  ±1.16%
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodelast'                                                                 0.77 %       ±1.03%  ±1.38%  ±1.80%
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodemany'                                                                 0.15 %       ±1.07%  ±1.42%  ±1.85%
url/url-searchparams-toString.js n=1000000 inputType='string' type='multiprimitives'                                                            0.72 %       ±1.06%  ±1.41%  ±1.84%
url/url-searchparams-toString.js n=1000000 inputType='string' type='noencode'                                                                   0.03 %       ±0.61%  ±0.81%  ±1.05%
url/url-searchparams-update.js n=1000000 property='hash' searchParams='false'                                                          ***     -2.19 %       ±0.44%  ±0.59%  ±0.77%
url/url-searchparams-update.js n=1000000 property='hash' searchParams='true'                                                           ***     -2.55 %       ±0.56%  ±0.74%  ±0.98%
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='false'                                                      ***     -2.53 %       ±0.43%  ±0.57%  ±0.74%
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='true'                                                       ***     -2.60 %       ±0.55%  ±0.73%  ±0.96%
url/url-searchparams-update.js n=1000000 property='search' searchParams='false'                                                        ***     -3.32 %       ±0.35%  ±0.47%  ±0.62%
url/url-searchparams-update.js n=1000000 property='search' searchParams='true'                                                         ***     -2.91 %       ±0.51%  ±0.68%  ±0.88%
url/urlpattern-parse.js n=100000 pattern='"[https://(sub.)?example(.com/)foo](https://(sub.)/?example(.com/)foo)"'                                                                   0.15 %       ±0.77%  ±1.04%  ±1.37%
url/urlpattern-parse.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                      -0.26 %       ±0.37%  ±0.49%  ±0.64%
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                                 **     -0.70 %       ±0.49%  ±0.66%  ±0.86%
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080/"}'                -0.17 %       ±0.32%  ±0.42%  ±0.55%
url/urlpattern-test.js n=100000 pattern='"[https://(sub.)?example(.com/)foo](https://(sub.)/?example(.com/)foo)"'                                                           ***     -4.33 %       ±2.22%  ±2.96%  ±3.86%
url/urlpattern-test.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                       -1.83 %       ±1.97%  ±2.62%  ±3.41%
url/urlpattern-test.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                                  **     -3.55 %       ±2.31%  ±3.08%  ±4.02%
url/urlpattern-test.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080/"}'                 -1.42 %       ±2.17%  ±2.88%  ±3.75%
url/whatwg-url-canParse.js n=1000000 type='auth'                                                                                       ***     -3.09 %       ±0.96%  ±1.28%  ±1.66%
url/whatwg-url-canParse.js n=1000000 type='dot'                                                                                                -0.27 %       ±1.43%  ±1.90%  ±2.47%
url/whatwg-url-canParse.js n=1000000 type='file'                                                                                        **     -2.10 %       ±1.43%  ±1.91%  ±2.48%
url/whatwg-url-canParse.js n=1000000 type='idn'                                                                                        ***     -2.45 %       ±0.17%  ±0.23%  ±0.30%
url/whatwg-url-canParse.js n=1000000 type='javascript'                                                                                  **     -1.55 %       ±1.04%  ±1.39%  ±1.81%
url/whatwg-url-canParse.js n=1000000 type='long'                                                                                                0.31 %       ±0.58%  ±0.77%  ±1.00%
url/whatwg-url-canParse.js n=1000000 type='percent'                                                                                    ***     -6.24 %       ±0.48%  ±0.64%  ±0.83%
url/whatwg-url-canParse.js n=1000000 type='short'                                                                                              -0.15 %       ±1.33%  ±1.78%  ±2.31%
url/whatwg-url-canParse.js n=1000000 type='ws'                                                                                                  0.24 %       ±0.99%  ±1.32%  ±1.72%
url/whatwg-url-get-prop.js e=1 type='auth'                                                                                                     11.20 %      ±45.27% ±60.25% ±78.43%
url/whatwg-url-get-prop.js e=1 type='dot'                                                                                                       0.31 %       ±1.94%  ±2.58%  ±3.36%
url/whatwg-url-get-prop.js e=1 type='file'                                                                                                     -0.82 %       ±1.43%  ±1.91%  ±2.48%
url/whatwg-url-get-prop.js e=1 type='idn'                                                                                                       0.08 %       ±1.69%  ±2.25%  ±2.93%
url/whatwg-url-get-prop.js e=1 type='javascript'                                                                                               -0.45 %       ±1.75%  ±2.33%  ±3.05%
url/whatwg-url-get-prop.js e=1 type='long'                                                                                                     28.19 %      ±55.61% ±74.04% ±96.44%
url/whatwg-url-get-prop.js e=1 type='percent'                                                                                                  -0.14 %       ±1.95%  ±2.60%  ±3.39%
url/whatwg-url-get-prop.js e=1 type='short'                                                                                                     1.18 %       ±1.85%  ±2.47%  ±3.21%
url/whatwg-url-get-prop.js e=1 type='wpt'                                                                                                      -9.34 %      ±16.83% ±22.41% ±29.21%
url/whatwg-url-get-prop.js e=1 type='ws'                                                                                                       -1.39 %       ±1.44%  ±1.91%  ±2.49%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='all'                                                                               ***     -3.90 %       ±0.38%  ±0.51%  ±0.68%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='empty'                                                                                     -0.41 %       ±0.92%  ±1.22%  ±1.59%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='none'                                                                              ***     -1.93 %       ±0.18%  ±0.24%  ±0.32%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='nonstring'                                                                           *      1.41 %       ±1.08%  ±1.43%  ±1.87%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='some'                                                                              ***     -2.07 %       ±0.17%  ±0.23%  ±0.31%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='all'                                                                             ***     -1.89 %       ±0.16%  ±0.22%  ±0.29%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='empty'                                                                                   -0.19 %       ±1.09%  ±1.45%  ±1.89%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='none'                                                                                    -0.28 %       ±0.29%  ±0.39%  ±0.51%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='nonstring'                                                                                0.66 %       ±1.33%  ±1.77%  ±2.30%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='some'                                                                            ***     -1.48 %       ±0.24%  ±0.32%  ±0.42%
url/whatwg-url-parse.js e=1 type='auth' withBase='false'                                                                                       -0.88 %       ±1.14%  ±1.52%  ±1.99%
url/whatwg-url-parse.js e=1 type='auth' withBase='true'                                                                                        -0.77 %       ±1.00%  ±1.33%  ±1.73%
url/whatwg-url-parse.js e=1 type='dot' withBase='false'                                                                                 **     -1.30 %       ±0.95%  ±1.28%  ±1.67%
url/whatwg-url-parse.js e=1 type='dot' withBase='true'                                                                                         -0.30 %       ±1.71%  ±2.28%  ±2.98%
url/whatwg-url-parse.js e=1 type='file' withBase='false'                                                                                        0.62 %       ±2.07%  ±2.75%  ±3.58%
url/whatwg-url-parse.js e=1 type='file' withBase='true'                                                                                        -0.22 %       ±1.38%  ±1.84%  ±2.40%
url/whatwg-url-parse.js e=1 type='idn' withBase='false'                                                                                  *     -1.73 %       ±1.51%  ±2.02%  ±2.64%
url/whatwg-url-parse.js e=1 type='idn' withBase='true'                                                                                 ***     -2.20 %       ±0.80%  ±1.07%  ±1.39%
url/whatwg-url-parse.js e=1 type='javascript' withBase='false'                                                                                 -1.06 %       ±1.93%  ±2.57%  ±3.35%
url/whatwg-url-parse.js e=1 type='javascript' withBase='true'                                                                                  -0.97 %       ±1.37%  ±1.82%  ±2.37%
url/whatwg-url-parse.js e=1 type='long' withBase='false'                                                                                       -1.29 %       ±1.48%  ±1.98%  ±2.61%
url/whatwg-url-parse.js e=1 type='long' withBase='true'                                                                                  *     -1.91 %       ±1.75%  ±2.33%  ±3.04%
url/whatwg-url-parse.js e=1 type='percent' withBase='false'                                                                              *     -1.61 %       ±1.31%  ±1.75%  ±2.29%
url/whatwg-url-parse.js e=1 type='percent' withBase='true'                                                                             ***     -2.10 %       ±1.01%  ±1.35%  ±1.76%
url/whatwg-url-parse.js e=1 type='short' withBase='false'                                                                              ***     -2.60 %       ±1.46%  ±1.97%  ±2.60%
url/whatwg-url-parse.js e=1 type='short' withBase='true'                                                                                       -0.31 %       ±1.25%  ±1.67%  ±2.19%
url/whatwg-url-parse.js e=1 type='wpt' withBase='false'                                                                                         1.11 %       ±4.88%  ±6.50%  ±8.48%
url/whatwg-url-parse.js e=1 type='wpt' withBase='true'                                                                                         -3.22 %       ±6.53%  ±8.69% ±11.32%
url/whatwg-url-parse.js e=1 type='ws' withBase='false'                                                                                         -0.48 %       ±1.51%  ±2.01%  ±2.61%
url/whatwg-url-parse.js e=1 type='ws' withBase='true'                                                                                          -1.38 %       ±1.46%  ±1.94%  ±2.52%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='false'                                                                       -2.75 %       ±3.77%  ±5.07%  ±6.70%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='true'                                                                        -1.33 %       ±5.17%  ±6.89%  ±8.96%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='false'                                                                       -0.40 %       ±6.06%  ±8.10% ±10.63%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='true'                                                                         2.08 %       ±5.56%  ±7.40%  ±9.65%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='false'                                                                   -2.06 %       ±3.72%  ±4.96%  ±6.48%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='true'                                                                    -0.11 %       ±4.22%  ±5.62%  ±7.35%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='false'                                                                        1.18 %       ±3.69%  ±4.92%  ±6.41%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='true'                                                                         0.17 %       ±5.81%  ±7.73% ±10.08%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='false'                                                                      1.94 %       ±7.38%  ±9.90% ±13.05%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='true'                                                                      -0.96 %       ±1.93%  ±2.57%  ±3.35%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='false'                                                            **     -3.69 %       ±2.75%  ±3.68%  ±4.82%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='true'                                                                    -0.97 %       ±3.56%  ±4.74%  ±6.18%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='false'                                                                   -4.63 %       ±6.69%  ±8.97% ±11.84%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='true'                                                                     2.30 %       ±5.91%  ±7.87% ±10.26%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='false'                                                                        1.99 %       ±6.51%  ±8.73% ±11.53%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='true'                                                                         0.51 %       ±4.26%  ±5.67%  ±7.38%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='false'                                                                    0.77 %       ±4.36%  ±5.80%  ±7.56%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='true'                                                                    -2.58 %       ±3.82%  ±5.09%  ±6.66%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='false'                                                                     -1.47 %       ±3.63%  ±4.83%  ±6.30%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='true'                                                                      -0.23 %       ±5.42%  ±7.22%  ±9.40%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='false'                                                                5.64 %       ±9.95% ±13.24% ±17.23%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='true'                                                                 2.66 %       ±6.52%  ±8.68% ±11.30%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='false'                                                                   -1.86 %       ±2.53%  ±3.37%  ±4.38%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='true'                                                                    -0.70 %       ±3.75%  ±4.99%  ±6.49%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool' method='pathToFileURL'                                            0.58 %       ±0.82%  ±1.09%  ±1.42%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool#hash' method='pathToFileURL'                                *      0.81 %       ±0.61%  ±0.82%  ±1.07%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null' method='pathToFileURL'                                                           0.24 %       ±0.68%  ±0.90%  ±1.18%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='fileURLToPath'                            ***     -1.69 %       ±0.94%  ±1.25%  ±1.64%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='pathToFileURL'                              *     -0.36 %       ±0.34%  ±0.45%  ±0.59%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='fileURLToPath'                                0.07 %       ±0.60%  ±0.81%  ±1.06%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='pathToFileURL'                                0.91 %       ±1.07%  ±1.43%  ±1.88%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='fileURLToPath'                                             *     -0.73 %       ±0.56%  ±0.74%  ±0.96%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='pathToFileURL'                                                    0.43 %       ±0.47%  ±0.63%  ±0.82%
url/whatwg-url-validity.js e=100000 type='invalid'                                                                                       *      0.61 %       ±0.54%  ±0.72%  ±0.94%
url/whatwg-url-validity.js e=100000 type='valid'                                                                                               -1.97 %       ±5.25%  ±6.99%  ±9.10%

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

bricss reacted with rocket emoji
All reactions
  • 🚀 1 reaction
@anonrig
url: enable simdutf for ada
cc38f32
@anonrig
anonrig requested a review from lemire January 22, 2026 15:37
@nodejs-github-bot

nodejs-github-bot commented Jan 22, 2026

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/security-wg
  • @nodejs/url
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot nodejs-github-bot added dependencies PRs that add, update, or configure Node.js dependencies. needs-ci PRs that need a full CI run. labels Jan 22, 2026
@anonrig
anonrig requested review from mcollina and ronag January 22, 2026 15:39
lemire
lemire approved these changes Jan 22, 2026
View reviewed changes

@lemire lemire left a comment

Copy link
Copy Markdown
Member

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.

Should come for free in Node

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
RafaelGSS
RafaelGSS approved these changes Jan 22, 2026
View reviewed changes
@RafaelGSS RafaelGSS added performance Issues and PRs related to the performance of Node.js. author ready PRs with CI started, the required approvals, and no outstanding review comments. request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. labels Jan 22, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Jan 22, 2026
@nodejs-github-bot

nodejs-github-bot commented Jan 22, 2026

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/70971/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@anonrig

anonrig commented Jan 22, 2026

Copy link
Copy Markdown
Member Author

This actually reduces the performance. Probably simdutf doesn't handle small inputs performantly - https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1785/consoleText @lemire

gurgunday reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lemire

lemire commented Jan 22, 2026

Copy link
Copy Markdown
Member

@anonrig

If you are calling a function (any function) that is meant to do very little work (say process 12 characters), then there is only so much gain you can make.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@anonrig

anonrig commented Jan 22, 2026

Copy link
Copy Markdown
Member Author

@anonrig

If you are calling a function (any function) that is meant to do very little work (say process 12 characters), then there is only so much gain you can make.

Yes, I think we should increase the threshold of when to run scalar version and when to run advanced simd solution.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lemire

lemire commented Jan 22, 2026

Copy link
Copy Markdown
Member

@anonrig

Yes, I think we should increase the threshold of when to run scalar version and when to run advanced simd solution.

I'll ping you on an issue in simdutf just now.

anonrig and ChALkeR reacted with thumbs up emoji
All reactions
  • 👍 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

gurgunday
gurgunday approved these changes Jan 22, 2026
View reviewed changes
@CarlosEduR

CarlosEduR commented Jan 22, 2026

Copy link
Copy Markdown

Nice!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ronag
ronag approved these changes Jan 24, 2026
View reviewed changes
@nodejs-github-bot

nodejs-github-bot commented Jan 24, 2026

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/71004/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@aduh95

aduh95 commented Jan 27, 2026

Copy link
Copy Markdown
Contributor

Do we want to merge this, or are we waiting for some changes upstream?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lemire

lemire commented Jan 27, 2026

Copy link
Copy Markdown
Member

@aduh95 I think we want to hold on before merging.

It is safe to merge, but not currently obviously beneficial.

aduh95 and gurgunday reacted with thumbs up emoji
All reactions
  • 👍 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@anonrig

anonrig commented Jan 30, 2026

Copy link
Copy Markdown
Member Author

Once #61593 lands we should rebase and rerun the CI since it adds SIMDUTF support to ada/idna.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@aduh95 aduh95 added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 25, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 25, 2026
@nodejs-github-bot

nodejs-github-bot commented Feb 25, 2026

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/71445/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@aduh95 aduh95 added the commit-queue PRs queued for automated landing through the Commit Queue. label Mar 15, 2026
@nodejs-github-bot nodejs-github-bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Mar 15, 2026
@nodejs-github-bot
nodejs-github-bot merged commit 1bc0fdd into nodejs:main Mar 15, 2026
80 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot

nodejs-github-bot commented Mar 15, 2026

Copy link
Copy Markdown
Collaborator

Landed in 1bc0fdd

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

aduh95 pushed a commit that referenced this pull request Mar 25, 2026
@anonrig @aduh95
url: enable simdutf for ada
28e3590
PR-URL: #61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
aduh95 pushed a commit that referenced this pull request Mar 28, 2026
@anonrig @aduh95
url: enable simdutf for ada
4b439c9
PR-URL: #61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
aduh95 pushed a commit to Flarna/node that referenced this pull request Mar 30, 2026
@anonrig @aduh95
url: enable simdutf for ada
531c64d
PR-URL: nodejs#61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
@github-actions github-actions Bot mentioned this pull request Mar 31, 2026
2026-04-01, Version 25.9.0 (Current) #62522
Merged
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 2, 2026
ECG Bot Tyrone Meijn
build(deps): update node.js to v25.9.0
a9a7b33
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `25.8.2` → `25.9.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v25.9.0`](https://github.com/nodejs/node/releases/tag/v25.9.0): 2026-04-01, Version 25.9.0 (Current), @&#8203;aduh95

[Compare Source](nodejs/node@v25.8.2...v25.9.0)

##### Notable Changes

##### Test runner module mocking improvements

`MockModuleOptions.defaultExport` and `MockModuleOptions.namedExports` have been
consolidated into a single option `MockModuleOptions.exports` to align with user
expectations and other test runners.

A `default` property on `MockModuleOptions.exports`  represents the default
export, and own enumerable properties are treated as named exports.

An automated migration is available to update user code:
<https://github.com/nodejs/userland-migrations/tree/main/recipes/mock-module-exports>

```bash
npx codemod @&#8203;nodejs/mock-module-exports
```

Contributed by sangwook in [#&#8203;61727](nodejs/node#61727).

##### Other notable changes

- \[[`312476cb84`](nodejs/node@312476cb84)] - **(SEMVER-MINOR)** **async\_hooks**: add using scopes to `AsyncLocalStorage` (Stephen Belanger) [#&#8203;61674](nodejs/node#61674)
- \[[`62d2cd473b`](nodejs/node@62d2cd473b)] - **(SEMVER-MINOR)** **cli**: add `--max-heap-size` option (tannal) [#&#8203;58708](nodejs/node#58708)
- \[[`d0ebf0e44b`](nodejs/node@d0ebf0e44b)] - **(SEMVER-MINOR)** **crypto**: add `TurboSHAKE` and `KangarooTwelve` Web Cryptography algorithms (Filip Skokan) [#&#8203;62183](nodejs/node#62183)
- \[[`f85b9d9fa8`](nodejs/node@f85b9d9fa8)] - **(SEMVER-MINOR)** **repl**: add customizable error handling (Anna Henningsen) [#&#8203;62188](nodejs/node#62188)
- \[[`67b854d407`](nodejs/node@67b854d407)] - **(SEMVER-MINOR)** **repl**: remove dependency on `node:domain` (Matteo Collina) [#&#8203;61227](nodejs/node#61227)
- \[[`966b700623`](nodejs/node@966b700623)] - **(SEMVER-MINOR)** **sea**: support code cache for ESM entrypoint in SEA (Joyee Cheung) [#&#8203;62158](nodejs/node#62158)
- \[[`e1f0d2a014`](nodejs/node@e1f0d2a014)] - **(SEMVER-MINOR)** **stream**: add stream/iter Implementation (James M Snell) [#&#8203;62066](nodejs/node#62066)

##### Commits

- \[[`312476cb84`](nodejs/node@312476cb84)] - **(SEMVER-MINOR)** **async\_hooks**: add using scopes to AsyncLocalStorage (Stephen Belanger) [#&#8203;61674](nodejs/node#61674)
- \[[`bfff8cb2ab`](nodejs/node@bfff8cb2ab)] - **(SEMVER-MINOR)** **benchmark**: add benchmarks for experimental stream/iter (James M Snell) [#&#8203;62066](nodejs/node#62066)
- \[[`c721d68502`](nodejs/node@c721d68502)] - **benchmark**: fix destructuring in dgram/single-buffer (Ali Hassan) [#&#8203;62084](nodejs/node#62084)
- \[[`e2f03c8e92`](nodejs/node@e2f03c8e92)] - **buffer**: improve performance of multiple Buffer operations (Ali Hassan) [#&#8203;61871](nodejs/node#61871)
- \[[`2fcd07f1ba`](nodejs/node@2fcd07f1ba)] - **build**: support empty libname flags in `configure.py` (Antoine du Hamel) [#&#8203;62477](nodejs/node#62477)
- \[[`b800c57fce`](nodejs/node@b800c57fce)] - **build**: fix timezone-update path references (Chengzhong Wu) [#&#8203;62280](nodejs/node#62280)
- \[[`7dc5a1e9b4`](nodejs/node@7dc5a1e9b4)] - **build**: skip dockit on IBMi (SRAVANI GUNDEPALLI) [#&#8203;62189](nodejs/node#62189)
- \[[`f0eea0f905`](nodejs/node@f0eea0f905)] - **build**: fix --node-builtin-modules-path (Filip Skokan) [#&#8203;62115](nodejs/node#62115)
- \[[`62d2cd473b`](nodejs/node@62d2cd473b)] - **(SEMVER-MINOR)** **cli**: add --max-heap-size option (tannal) [#&#8203;58708](nodejs/node#58708)
- \[[`ac4b485698`](nodejs/node@ac4b485698)] - **crypto**: update root certificates to NSS 3.121 (Node.js GitHub Bot) [#&#8203;62485](nodejs/node#62485)
- \[[`d0ebf0e44b`](nodejs/node@d0ebf0e44b)] - **(SEMVER-MINOR)** **crypto**: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) [#&#8203;62183](nodejs/node#62183)
- \[[`3009980d9d`](nodejs/node@3009980d9d)] - **crypto**: add crypto::GetSSLCtx API for addon access to OpenSSL contexts (Tim Perry) [#&#8203;62254](nodejs/node#62254)
- \[[`f5725ca81d`](nodejs/node@f5725ca81d)] - **crypto**: reject ML-KEM/ML-DSA [PKCS#8](https://github.com/PKCS/node/issues/8) import without seed in SubtleCrypto (Filip Skokan) [#&#8203;62218](nodejs/node#62218)
- \[[`f69ed4bc3f`](nodejs/node@f69ed4bc3f)] - **crypto**: rename CShakeParams and KmacParams length to outputLength (Filip Skokan) [#&#8203;61875](nodejs/node#61875)
- \[[`4d96e53570`](nodejs/node@4d96e53570)] - **crypto**: refactor WebCrypto AEAD algorithms auth tag handling (Filip Skokan) [#&#8203;62169](nodejs/node#62169)
- \[[`93d77719e8`](nodejs/node@93d77719e8)] - **crypto**: read algorithm name property only once in normalizeAlgorithm (Filip Skokan) [#&#8203;62170](nodejs/node#62170)
- \[[`3d2e23a981`](nodejs/node@3d2e23a981)] - **deps**: update ada to 3.4.4 (Node.js GitHub Bot) [#&#8203;62414](nodejs/node#62414)
- \[[`176d6d2205`](nodejs/node@176d6d2205)] - **deps**: update timezone to 2026a (Node.js GitHub Bot) [#&#8203;62164](nodejs/node#62164)
- \[[`95c7fc67ba`](nodejs/node@95c7fc67ba)] - **deps**: update googletest to [`2461743`](nodejs/node@2461743) (Node.js GitHub Bot) [#&#8203;62484](nodejs/node#62484)
- \[[`e5e9f2044a`](nodejs/node@e5e9f2044a)] - **deps**: update simdjson to 4.5.0 (Node.js GitHub Bot) [#&#8203;62382](nodejs/node#62382)
- \[[`905b94266a`](nodejs/node@905b94266a)] - **deps**: update ngtcp2 to 1.21.0 (Node.js GitHub Bot) [#&#8203;62051](nodejs/node#62051)
- \[[`180c150122`](nodejs/node@180c150122)] - **deps**: V8: cherry-pick [`cf1bce4`](nodejs/node@cf1bce40a5ef) (Richard Lau) [#&#8203;62449](nodejs/node#62449)
- \[[`bc265aa003`](nodejs/node@bc265aa003)] - **deps**: upgrade npm to 11.12.1 (npm team) [#&#8203;62448](nodejs/node#62448)
- \[[`f1b28612c4`](nodejs/node@f1b28612c4)] - **deps**: V8: cherry-pick [`b25cd62`](nodejs/node@b25cd62c7ba2) (Yagiz Nizipli) [#&#8203;62354](nodejs/node#62354)
- \[[`757719d2af`](nodejs/node@757719d2af)] - **deps**: disable rust icu compiled\_data features (Chengzhong Wu) [#&#8203;62284](nodejs/node#62284)
- \[[`3bdc955b63`](nodejs/node@3bdc955b63)] - **deps**: update sqlite to 3.51.3 (Node.js GitHub Bot) [#&#8203;62256](nodejs/node#62256)
- \[[`a9703d194a`](nodejs/node@a9703d194a)] - **deps**: update googletest to [`73a63ea`](nodejs/node@73a63ea) (Node.js GitHub Bot) [#&#8203;61927](nodejs/node#61927)
- \[[`85138935cb`](nodejs/node@85138935cb)] - **deps**: update merve to 1.2.2 (Node.js GitHub Bot) [#&#8203;62213](nodejs/node#62213)
- \[[`231521e75e`](nodejs/node@231521e75e)] - **diagnostics\_channel**: add diagnostics channels for web locks (Ilyas Shabi) [#&#8203;62123](nodejs/node#62123)
- \[[`0093863664`](nodejs/node@0093863664)] - **doc**: deprecate `module.register()` (DEP0205) (Geoffrey Booth) [#&#8203;62395](nodejs/node#62395)
- \[[`0b96ece6be`](nodejs/node@0b96ece6be)] - **doc**: clarify that features cannot be both experimental and deprecated (Antoine du Hamel) [#&#8203;62456](nodejs/node#62456)
- \[[`8d3ea975f5`](nodejs/node@8d3ea975f5)] - **doc**: fix 'transfered' typo in quic.md (lilianakatrina684-a11y) [#&#8203;62492](nodejs/node#62492)
- \[[`08ff16e0ba`](nodejs/node@08ff16e0ba)] - **doc**: move sqlite type conversion section to correct level (René) [#&#8203;62482](nodejs/node#62482)
- \[[`61cc747dd8`](nodejs/node@61cc747dd8)] - **doc**: add Rafael to last security release steward (Rafael Gonzaga) [#&#8203;62423](nodejs/node#62423)
- \[[`64cfa5a6fa`](nodejs/node@64cfa5a6fa)] - **doc**: use npm-published version of doc-kit (Aviv Keller) [#&#8203;62139](nodejs/node#62139)
- \[[`1020321fb0`](nodejs/node@1020321fb0)] - **doc**: fix overstated Date header requirement in response.sendDate (Kit Dallege) [#&#8203;62206](nodejs/node#62206)
- \[[`9caa7855b2`](nodejs/node@9caa7855b2)] - **doc**: fix guaranteed typo (lilianakatrina684-a11y) [#&#8203;62374](nodejs/node#62374)
- \[[`e254f65306`](nodejs/node@e254f65306)] - **doc**: enhance clarification about the main field (Mowafak Almahaini) [#&#8203;62302](nodejs/node#62302)
- \[[`9e724b53f8`](nodejs/node@9e724b53f8)] - **doc**: remove spawn with shell example from bat/cmd section (Kit Dallege) [#&#8203;62243](nodejs/node#62243)
- \[[`7f37c17516`](nodejs/node@7f37c17516)] - **doc**: minor typo fix (Jeff Matson) [#&#8203;62358](nodejs/node#62358)
- \[[`eb0ca98f01`](nodejs/node@eb0ca98f01)] - **doc**: add path to vulnerabilities.json mention (Rafael Gonzaga) [#&#8203;62355](nodejs/node#62355)
- \[[`198b6e0932`](nodejs/node@198b6e0932)] - **doc**: deprecate CryptoKey use in node:crypto (Filip Skokan) [#&#8203;62321](nodejs/node#62321)
- \[[`17e5aee6c5`](nodejs/node@17e5aee6c5)] - **doc**: fix small environment\_variables typo (chris) [#&#8203;62279](nodejs/node#62279)
- \[[`193d629895`](nodejs/node@193d629895)] - **doc**: test and test-only targets do not run linter (Xavier Stouder) [#&#8203;62120](nodejs/node#62120)
- \[[`4a1f20ec4a`](nodejs/node@4a1f20ec4a)] - **doc**: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) [#&#8203;62208](nodejs/node#62208)
- \[[`f976c9214d`](nodejs/node@f976c9214d)] - **doc**: clarify that any truthy value of `shell` is part of DEP0190 (Antoine du Hamel) [#&#8203;62249](nodejs/node#62249)
- \[[`4d83972681`](nodejs/node@4d83972681)] - **doc**: remove outdated Chrome 66 and ndb references from debugger (Kit Dallege) [#&#8203;62202](nodejs/node#62202)
- \[[`71f2eada5b`](nodejs/node@71f2eada5b)] - **doc**: add throwIfNoEntry version history to fs.stat (kovan) [#&#8203;62204](nodejs/node#62204)
- \[[`670c80893b`](nodejs/node@670c80893b)] - **doc**: add note (and caveat) for `mock.module` about customization hooks (Jacob Smith) [#&#8203;62075](nodejs/node#62075)
- \[[`2ff5cb13f5`](nodejs/node@2ff5cb13f5)] - **doc,test**: clarify --eval syntax for leading '-' scripts (kovan) [#&#8203;62244](nodejs/node#62244)
- \[[`6c6c9004c4`](nodejs/node@6c6c9004c4)] - **esm**: fix typo in worker loader hook comment (jakecastelli) [#&#8203;62475](nodejs/node#62475)
- \[[`1cdd23c9f3`](nodejs/node@1cdd23c9f3)] - **esm**: fix source phase identity bug in loadCache eviction (Guy Bedford) [#&#8203;62415](nodejs/node#62415)
- \[[`4f4ff15794`](nodejs/node@4f4ff15794)] - **esm**: fix path normalization in `finalizeResolution` (Antoine du Hamel) [#&#8203;62080](nodejs/node#62080)
- \[[`088167d102`](nodejs/node@088167d102)] - **events**: avoid cloning listeners array on every emit (Gürgün Dayıoğlu) [#&#8203;62261](nodejs/node#62261)
- \[[`0250b436ee`](nodejs/node@0250b436ee)] - **fs**: fix cpSync to handle non-ASCII characters (Stefan Stojanovic) [#&#8203;61950](nodejs/node#61950)
- \[[`b67a8fb171`](nodejs/node@b67a8fb171)] - **inspector**: add Target.getTargets and extract TargetManager (Kohei) [#&#8203;62487](nodejs/node#62487)
- \[[`ffcc5a5722`](nodejs/node@ffcc5a5722)] - **lib**: make SubtleCrypto.supports enumerable (Filip Skokan) [#&#8203;62307](nodejs/node#62307)
- \[[`92ef2ad8fa`](nodejs/node@92ef2ad8fa)] - **lib**: prefer primordials in SubtleCrypto (Filip Skokan) [#&#8203;62226](nodejs/node#62226)
- \[[`40a43ac4d0`](nodejs/node@40a43ac4d0)] - **module**: fix coverage of mocked CJS modules imported from ESM (Marco) [#&#8203;62133](nodejs/node#62133)
- \[[`3ef0a5b90e`](nodejs/node@3ef0a5b90e)] - **quic**: remove CryptoKey support from session keys option (Filip Skokan) [#&#8203;62335](nodejs/node#62335)
- \[[`3c8dd8eb8e`](nodejs/node@3c8dd8eb8e)] - **repl**: use vm DONT\_CONTEXTIFY context (Chengzhong Wu) [#&#8203;62371](nodejs/node#62371)
- \[[`f85b9d9fa8`](nodejs/node@f85b9d9fa8)] - **(SEMVER-MINOR)** **repl**: add customizable error handling (Anna Henningsen) [#&#8203;62188](nodejs/node#62188)
- \[[`e4c164e045`](nodejs/node@e4c164e045)] - **repl**: handle exceptions from async context after close (Anna Henningsen) [#&#8203;62165](nodejs/node#62165)
- \[[`67b854d407`](nodejs/node@67b854d407)] - **(SEMVER-MINOR)** **repl**: remove dependency on domain module (Matteo Collina) [#&#8203;61227](nodejs/node#61227)
- \[[`966b700623`](nodejs/node@966b700623)] - **(SEMVER-MINOR)** **sea**: support code cache for ESM entrypoint in SEA (Joyee Cheung) [#&#8203;62158](nodejs/node#62158)
- \[[`fe82baf970`](nodejs/node@fe82baf970)] - **src**: improve EC JWK import performance (Filip Skokan) [#&#8203;62396](nodejs/node#62396)
- \[[`d490b171e0`](nodejs/node@d490b171e0)] - **src**: handle null backing store in ArrayBufferViewContents::Read (Mert Can Altin) [#&#8203;62343](nodejs/node#62343)
- \[[`0e4af848bc`](nodejs/node@0e4af848bc)] - **src**: convert context\_frame field in AsyncWrap to internal field (Anna Henningsen) [#&#8203;62103](nodejs/node#62103)
- \[[`02980b8c8f`](nodejs/node@02980b8c8f)] - **src**: enable compilation/linking with OpenSSL 4.0 (Filip Skokan) [#&#8203;62410](nodejs/node#62410)
- \[[`064f7c2fa6`](nodejs/node@064f7c2fa6)] - **src**: use stack allocation in indexOf latin1 path (Mert Can Altin) [#&#8203;62268](nodejs/node#62268)
- \[[`ede52bc2dc`](nodejs/node@ede52bc2dc)] - **src,sqlite**: fix filterFunc dangling reference (Edy Silva) [#&#8203;62281](nodejs/node#62281)
- \[[`e1f0d2a014`](nodejs/node@e1f0d2a014)] - **(SEMVER-MINOR)** **stream**: add stream/iter Implementation (James M Snell) [#&#8203;62066](nodejs/node#62066)
- \[[`03839fb087`](nodejs/node@03839fb087)] - **stream**: preserve error over AbortError in pipeline (Marco) [#&#8203;62113](nodejs/node#62113)
- \[[`0000d2f011`](nodejs/node@0000d2f011)] - **stream**: replace bind with arrow function for onwrite callback (Ali Hassan) [#&#8203;62087](nodejs/node#62087)
- \[[`3796a73719`](nodejs/node@3796a73719)] - **test**: update WPT for WebCryptoAPI to [`2cb332d`](nodejs/node@2cb332d710) (Node.js GitHub Bot) [#&#8203;62483](nodejs/node#62483)
- \[[`ad8309415b`](nodejs/node@ad8309415b)] - **test**: update WPT for url to [`fc3e651`](nodejs/node@fc3e651593) (Node.js GitHub Bot) [#&#8203;62379](nodejs/node#62379)
- \[[`bed89b037e`](nodejs/node@bed89b037e)] - **test**: wait for reattach before initial break on restart (Yuya Inoue) [#&#8203;62471](nodejs/node#62471)
- \[[`c9ffffcc55`](nodejs/node@c9ffffcc55)] - **test**: disable flaky WPT Blob test on AIX (James M Snell) [#&#8203;62470](nodejs/node#62470)
- \[[`fd41ef31f6`](nodejs/node@fd41ef31f6)] - **(SEMVER-MINOR)** **test**: add tests for experimental stream/iter implementation (James M Snell) [#&#8203;62066](nodejs/node#62066)
- \[[`1b9d8d3eec`](nodejs/node@1b9d8d3eec)] - **test**: avoid flaky run wait in debugger restart test (Yuya Inoue) [#&#8203;62112](nodejs/node#62112)
- \[[`cb08a29d51`](nodejs/node@cb08a29d51)] - **test**: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) [#&#8203;62238](nodejs/node#62238)
- \[[`abea0af8a9`](nodejs/node@abea0af8a9)] - **test**: add WebCrypto Promise.prototype.then pollution regression tests (Filip Skokan) [#&#8203;62226](nodejs/node#62226)
- \[[`47a2132269`](nodejs/node@47a2132269)] - **test**: update WPT for WebCryptoAPI to [`6a1c545`](nodejs/node@6a1c545d77) (Node.js GitHub Bot) [#&#8203;62187](nodejs/node#62187)
- \[[`2c63d3006c`](nodejs/node@2c63d3006c)] - **test\_runner**: add exports option for module mocks (sangwook) [#&#8203;61727](nodejs/node#61727)
- \[[`44ac0e1302`](nodejs/node@44ac0e1302)] - **test\_runner**: make it compatible with fake timers (Matteo Collina) [#&#8203;59272](nodejs/node#59272)
- \[[`1865691275`](nodejs/node@1865691275)] - **test\_runner**: set non-zero exit code when suite errors occur (Edy Silva) [#&#8203;62282](nodejs/node#62282)
- \[[`0252b2bab8`](nodejs/node@0252b2bab8)] - **tools**: bump picomatch from 4.0.3 to 4.0.4 in /tools/eslint (dependabot\[bot]) [#&#8203;62439](nodejs/node#62439)
- \[[`3368155267`](nodejs/node@3368155267)] - **tools**: bump yaml from 2.8.2 to 2.8.3 in /tools/doc (dependabot\[bot]) [#&#8203;62437](nodejs/node#62437)
- \[[`5e47c359f5`](nodejs/node@5e47c359f5)] - **tools**: adopt the `--check-for-duplicates` NCU flag (Antoine du Hamel) [#&#8203;62478](nodejs/node#62478)
- \[[`4a604e82d0`](nodejs/node@4a604e82d0)] - **tools**: bump picomatch in /tools/doc (dependabot\[bot]) [#&#8203;62438](nodejs/node#62438)
- \[[`d1a98b4ddb`](nodejs/node@d1a98b4ddb)] - **tools**: bump flatted from 3.4.1 to 3.4.2 in /tools/eslint (dependabot\[bot]) [#&#8203;62375](nodejs/node#62375)
- \[[`c32daa1ab4`](nodejs/node@c32daa1ab4)] - **tools**: bump eslint deps (Huáng Jùnliàng) [#&#8203;62356](nodejs/node#62356)
- \[[`7a2fcc6d41`](nodejs/node@7a2fcc6d41)] - **tools**: do not swallow error in `lint-nix` workflow (Antoine du Hamel) [#&#8203;62292](nodejs/node#62292)
- \[[`c41a2871b5`](nodejs/node@c41a2871b5)] - **tools**: add eslint-plugin-regexp (Huáng Jùnliàng) [#&#8203;62093](nodejs/node#62093)
- \[[`56dfeb06df`](nodejs/node@56dfeb06df)] - **tools**: fix timeout errors in `lint-nix` job (Antoine du Hamel) [#&#8203;62265](nodejs/node#62265)
- \[[`22fc8078e8`](nodejs/node@22fc8078e8)] - **tools**: bump flatted from 3.3.3 to 3.4.1 in /tools/eslint (dependabot\[bot]) [#&#8203;62255](nodejs/node#62255)
- \[[`409b0663bd`](nodejs/node@409b0663bd)] - **tools**: bump undici from 6.23.0 to 6.24.1 in /tools/doc (dependabot\[bot]) [#&#8203;62250](nodejs/node#62250)
- \[[`67c69750f4`](nodejs/node@67c69750f4)] - **tools**: validate all commits that are pushed to `main` (Antoine du Hamel) [#&#8203;62246](nodejs/node#62246)
- \[[`7d9db8cd21`](nodejs/node@7d9db8cd21)] - **tools**: keep GN files when updating Merve (Antoine du Hamel) [#&#8203;62167](nodejs/node#62167)
- \[[`6c8fa42ba2`](nodejs/node@6c8fa42ba2)] - **typings**: rationalise TypedArray types (René) [#&#8203;62174](nodejs/node#62174)
- \[[`531c64d04e`](nodejs/node@531c64d04e)] - **url**: enable simdutf for ada (Yagiz Nizipli) [#&#8203;61477](nodejs/node#61477)
- \[[`2000caccde`](nodejs/node@2000caccde)] - **util**: allow color aliases in styleText (sangwook) [#&#8203;62180](nodejs/node#62180)
- \[[`0aed332ab4`](nodejs/node@0aed332ab4)] - **wasm**: support js string constant esm import (Guy Bedford) [#&#8203;62198](nodejs/node#62198)
- \[[`d3fd4a978b`](nodejs/node@d3fd4a978b)] - **worker**: heap profile optimizations (Ilyas Shabi) [#&#8203;62201](nodejs/node#62201)
- \[[`e992a34a18`](nodejs/node@e992a34a18)] - **zlib**: fix use-after-free when reset() is called during write (Matteo Collina) [#&#8203;62325](nodejs/node#62325)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlJlbm92YXRlIEJvdCIsImF1dG9tYXRpb246Ym90LWF1dGhvcmVkIiwiZGVwZW5kZW5jeS10eXBlOjptaW5vciJdfQ==-->
aduh95 pushed a commit that referenced this pull request Apr 4, 2026
@anonrig @aduh95
url: enable simdutf for ada
7516530
PR-URL: #61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
This was referenced Apr 4, 2026
[javascript] Update Node.js to v25.9.0 hayat01sh1da/coding-tests#41
Merged
[javascript] Update Node.js to v25.9.0 hayat01sh1da/tutorials#206
Merged
aduh95 pushed a commit that referenced this pull request Apr 5, 2026
@anonrig @aduh95
url: enable simdutf for ada
0691f52
PR-URL: #61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
aduh95 pushed a commit that referenced this pull request Apr 6, 2026
@anonrig @aduh95
url: enable simdutf for ada
888ef0e
PR-URL: #61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
aduh95 pushed a commit that referenced this pull request Apr 8, 2026
@anonrig @aduh95
url: enable simdutf for ada
fbe176a
PR-URL: #61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
aduh95 pushed a commit that referenced this pull request Apr 10, 2026
@anonrig @aduh95
url: enable simdutf for ada
aad7b3c
PR-URL: #61477
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Gürgün Dayıoğlu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
@github-actions github-actions Bot mentioned this pull request Apr 10, 2026
2026-04-15, Version 24.15.0 'Krypton' (LTS) #62681
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@lemire lemire lemire approved these changes
@ronag ronag ronag approved these changes
@RafaelGSS RafaelGSS RafaelGSS approved these changes
@gurgunday gurgunday gurgunday approved these changes
@mcollina mcollina Awaiting requested review from mcollina

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. dependencies PRs that add, update, or configure Node.js dependencies. needs-ci PRs that need a full CI run. performance Issues and PRs related to the performance of Node.js.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

8 participants

@anonrig @nodejs-github-bot @lemire @CarlosEduR @aduh95 @ronag @RafaelGSS @gurgunday
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.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.