Skip to content

Conversation

@gurgunday
Copy link
Member

branch:

node % ./node benchmark/run.js --filter whatwg-url-to-and-from-path url
url/whatwg-url-to-and-from-path.js
url/whatwg-url-to-and-from-path.js n=5000000 input="file:///dev/null" method="fileURLToPath": 3,853,044.868707496
url/whatwg-url-to-and-from-path.js n=5000000 input="file:///dev/null?key=param&bool" method="fileURLToPath": 3,490,012.0935340663
url/whatwg-url-to-and-from-path.js n=5000000 input="file:///dev/null?key=param&bool#hash" method="fileURLToPath": 3,167,181.914377771

main:

node % ./node benchmark/run.js --filter whatwg-url-to-and-from-path url
url/whatwg-url-to-and-from-path.js n=5000000 input="file:///dev/null" method="fileURLToPath": 2,034,421.4266934511
url/whatwg-url-to-and-from-path.js n=5000000 input="file:///dev/null?key=param&bool" method="fileURLToPath": 2,062,544.6025270298
url/whatwg-url-to-and-from-path.js n=5000000 input="file:///dev/null?key=param&bool#hash" method="fileURLToPath": 2,022,311.8969784945

The majority of file paths won't need decoding, so this PR avoids calling decodeURIComponent when the path is pure ASCII with no encodings

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/url

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. whatwg-url Issues and PRs related to the WHATWG URL implementation. labels Nov 16, 2025
@gurgunday gurgunday added the performance Issues and PRs related to the performance of Node.js. label Nov 16, 2025
@codecov
Copy link

codecov bot commented Nov 16, 2025

Codecov Report

❌ Patch coverage is 50.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.55%. Comparing base (2856475) to head (d756a3c).
⚠️ Report is 256 commits behind head on main.

Files with missing lines Patch % Lines
lib/internal/url.js 50.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #60749      +/-   ##
==========================================
+ Coverage   88.54%   88.55%   +0.01%     
==========================================
  Files         703      703              
  Lines      208222   208256      +34     
  Branches    40140    40152      +12     
==========================================
+ Hits       184360   184420      +60     
+ Misses      15882    15836      -46     
- Partials     7980     8000      +20     
Files with missing lines Coverage Δ
lib/internal/url.js 93.59% <50.00%> (+0.24%) ⬆️

... and 41 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.

@gurgunday

This comment was marked as outdated.

@avivkeller avivkeller added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. needs-benchmark-ci PR that need a benchmark CI run. request-ci Add this label to start a Jenkins CI on a PR. labels Dec 28, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 28, 2025
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Dec 28, 2025

CI: https://ci.nodejs.org/job/node-test-pull-request/70615/
Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1777/

Results
                                                                                                                                confidence improvement accuracy (*)    (**)   (***)
url/legacy-url-get-prop.js e=1 type='auth'                                                                                                     -0.41 %       ±2.03%  ±2.70%  ±3.53%
url/legacy-url-get-prop.js e=1 type='dot'                                                                                                       0.34 %       ±1.42%  ±1.90%  ±2.47%
url/legacy-url-get-prop.js e=1 type='file'                                                                                                     -0.49 %       ±1.43%  ±1.90%  ±2.47%
url/legacy-url-get-prop.js e=1 type='idn'                                                                                                      -0.11 %       ±1.32%  ±1.77%  ±2.31%
url/legacy-url-get-prop.js e=1 type='javascript'                                                                                                0.88 %       ±3.20%  ±4.27%  ±5.59%
url/legacy-url-get-prop.js e=1 type='long'                                                                                                     -0.87 %       ±5.67%  ±7.54%  ±9.82%
url/legacy-url-get-prop.js e=1 type='percent'                                                                                                  -0.19 %       ±1.52%  ±2.03%  ±2.65%
url/legacy-url-get-prop.js e=1 type='short'                                                                                                     2.06 %       ±3.59%  ±4.77%  ±6.22%
url/legacy-url-get-prop.js e=1 type='wpt'                                                                                                       6.08 %       ±8.73% ±11.62% ±15.13%
url/legacy-url-get-prop.js e=1 type='ws'                                                                                                       -3.05 %       ±4.15%  ±5.53%  ±7.20%
url/legacy-url-parse.js e=1 type='auth'                                                                                                        -0.15 %      ±18.72% ±24.91% ±32.42%
url/legacy-url-parse.js e=1 type='dot'                                                                                                         -0.60 %       ±0.68%  ±0.91%  ±1.19%
url/legacy-url-parse.js e=1 type='file'                                                                                                         0.07 %       ±0.92%  ±1.22%  ±1.59%
url/legacy-url-parse.js e=1 type='idn'                                                                                                         -0.37 %       ±1.27%  ±1.70%  ±2.22%
url/legacy-url-parse.js e=1 type='javascript'                                                                                                  -0.46 %       ±1.05%  ±1.41%  ±1.83%
url/legacy-url-parse.js e=1 type='long'                                                                                                  *    -13.55 %      ±11.69% ±15.60% ±20.38%
url/legacy-url-parse.js e=1 type='percent'                                                                                                      1.43 %       ±1.95%  ±2.62%  ±3.46%
url/legacy-url-parse.js e=1 type='short'                                                                                                       -0.21 %       ±0.91%  ±1.21%  ±1.57%
url/legacy-url-parse.js e=1 type='wpt'                                                                                                         -1.31 %       ±4.62%  ±6.15%  ±8.00%
url/legacy-url-parse.js e=1 type='ws'                                                                                                          -4.21 %      ±19.60% ±26.08% ±33.95%
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'                                               0.05 %       ±1.15%  ±1.53%  ±1.99%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodelast'                                              -0.01 %       ±0.71%  ±0.94%  ±1.22%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodemany'                                               0.10 %       ±0.43%  ±0.58%  ±0.75%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manyblankpairs'                                          -0.08 %       ±1.63%  ±2.17%  ±2.83%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manypairs'                                               -0.88 %       ±0.92%  ±1.23%  ±1.60%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multicharsep'                                             0.40 %       ±0.91%  ±1.22%  ±1.58%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivalue'                                        *     -0.91 %       ±0.90%  ±1.19%  ±1.55%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivaluemany'                                           1.05 %       ±1.48%  ±1.97%  ±2.57%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='noencode'                                                 0.81 %       ±0.99%  ±1.31%  ±1.71%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='altspaces'                                               -0.15 %       ±1.30%  ±1.73%  ±2.25%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodefake'                                              -0.09 %       ±0.99%  ±1.32%  ±1.71%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodelast'                                              -0.22 %       ±0.95%  ±1.26%  ±1.64%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodemany'                                               0.14 %       ±0.52%  ±0.69%  ±0.89%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                           0.48 %       ±2.27%  ±3.02%  ±3.94%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manypairs'                                                0.92 %       ±1.65%  ±2.20%  ±2.87%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multicharsep'                                             0.52 %       ±0.96%  ±1.28%  ±1.67%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivalue'                                               0.26 %       ±1.05%  ±1.40%  ±1.82%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivaluemany'                                    *     -0.50 %       ±0.45%  ±0.60%  ±0.78%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='noencode'                                                 0.32 %       ±1.32%  ±1.75%  ±2.28%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='altspaces'                                           -0.18 %       ±0.70%  ±0.93%  ±1.21%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodefake'                                    *     -0.88 %       ±0.83%  ±1.10%  ±1.44%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodelast'                                          -0.28 %       ±1.26%  ±1.68%  ±2.18%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodemany'                                          -0.17 %       ±0.97%  ±1.29%  ±1.68%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manyblankpairs'                                      -0.36 %       ±4.20%  ±5.59%  ±7.27%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manypairs'                                    **      1.97 %       ±1.32%  ±1.76%  ±2.30%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multicharsep'                                         0.21 %       ±1.18%  ±1.57%  ±2.04%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivalue'                                           0.54 %       ±1.07%  ±1.43%  ±1.86%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivaluemany'                                       0.86 %       ±0.90%  ±1.20%  ±1.57%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='noencode'                                            -0.37 %       ±0.86%  ±1.14%  ±1.49%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='altspaces'                                           -0.59 %       ±0.69%  ±0.92%  ±1.20%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodefake'                                           0.61 %       ±0.74%  ±0.98%  ±1.28%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodelast'                                           0.23 %       ±1.01%  ±1.34%  ±1.75%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodemany'                                          -0.45 %       ±0.91%  ±1.20%  ±1.57%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                       0.07 %       ±1.67%  ±2.23%  ±2.90%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manypairs'                                            0.06 %       ±0.75%  ±1.00%  ±1.30%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multicharsep'                                         0.65 %       ±1.25%  ±1.66%  ±2.16%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivalue'                                          -0.25 %       ±0.75%  ±1.00%  ±1.30%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivaluemany'                                      -0.27 %       ±0.37%  ±0.49%  ±0.64%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='noencode'                                            -0.16 %       ±0.73%  ±0.98%  ±1.27%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='auth'                                                                          -0.04 %       ±4.21%  ±5.60%  ±7.28%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='dot'                                                                            1.34 %       ±2.74%  ±3.68%  ±4.85%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='file'                                                                          -1.44 %       ±4.02%  ±5.36%  ±7.00%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='idn'                                                                            0.16 %       ±1.06%  ±1.41%  ±1.84%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='javascript'                                                                    -1.67 %       ±2.70%  ±3.63%  ±4.80%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='long'                                                                          -0.56 %       ±1.50%  ±2.00%  ±2.60%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='percent'                                                                        0.40 %       ±0.91%  ±1.21%  ±1.58%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='short'                                                                          1.34 %       ±3.11%  ±4.17%  ±5.50%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='wpt'                                                                     *     -3.63 %       ±2.94%  ±3.93%  ±5.14%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='ws'                                                                             0.63 %       ±0.90%  ±1.19%  ±1.55%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='auth'                                                                          -1.27 %       ±2.65%  ±3.57%  ±4.71%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='dot'                                                                           -0.38 %       ±1.94%  ±2.58%  ±3.36%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='file'                                                                          -0.53 %       ±1.98%  ±2.64%  ±3.46%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='idn'                                                                           -0.12 %       ±0.71%  ±0.95%  ±1.24%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='javascript'                                                                     0.01 %       ±1.28%  ±1.71%  ±2.22%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='long'                                                                           0.18 %       ±0.98%  ±1.31%  ±1.71%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='percent'                                                                       -0.51 %       ±0.69%  ±0.92%  ±1.20%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='short'                                                                          0.03 %       ±1.03%  ±1.38%  ±1.80%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='wpt'                                                                           -0.06 %       ±4.28%  ±5.72%  ±7.47%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='ws'                                                                             0.76 %       ±3.04%  ±4.08%  ±5.39%
url/url-format.js n=25000000 type='file'                                                                                                        0.55 %       ±1.26%  ±1.67%  ±2.18%
url/url-format.js n=25000000 type='slashes'                                                                                                    -0.61 %       ±1.73%  ±2.30%  ±3.00%
url/url-parse.js n=10000000 type='escaped'                                                                                                      1.13 %       ±1.45%  ±1.94%  ±2.55%
url/url-parse.js n=10000000 type='normal'                                                                                                       1.33 %       ±2.44%  ±3.25%  ±4.23%
url/url-resolve.js n=100000 path='down' href='auth'                                                                                            -0.42 %       ±0.92%  ±1.23%  ±1.60%
url/url-resolve.js n=100000 path='down' href='dot'                                                                                             -0.42 %       ±0.74%  ±0.99%  ±1.29%
url/url-resolve.js n=100000 path='down' href='file'                                                                                            -0.21 %       ±0.99%  ±1.32%  ±1.72%
url/url-resolve.js n=100000 path='down' href='idn'                                                                                              0.14 %       ±0.83%  ±1.11%  ±1.44%
url/url-resolve.js n=100000 path='down' href='javascript'                                                                                       0.34 %       ±1.12%  ±1.49%  ±1.95%
url/url-resolve.js n=100000 path='down' href='long'                                                                                             0.27 %       ±0.51%  ±0.68%  ±0.89%
url/url-resolve.js n=100000 path='down' href='noscheme'                                                                                        -0.25 %       ±1.18%  ±1.57%  ±2.05%
url/url-resolve.js n=100000 path='down' href='percent'                                                                                         -0.65 %       ±1.00%  ±1.33%  ±1.73%
url/url-resolve.js n=100000 path='down' href='short'                                                                                           -0.40 %       ±0.76%  ±1.01%  ±1.31%
url/url-resolve.js n=100000 path='down' href='ws'                                                                                               0.72 %       ±0.87%  ±1.16%  ±1.51%
url/url-resolve.js n=100000 path='foo/bar' href='auth'                                                                                          0.70 %       ±0.75%  ±1.00%  ±1.31%
url/url-resolve.js n=100000 path='foo/bar' href='dot'                                                                                           0.61 %       ±1.01%  ±1.34%  ±1.75%
url/url-resolve.js n=100000 path='foo/bar' href='file'                                                                                         -0.52 %       ±0.81%  ±1.08%  ±1.41%
url/url-resolve.js n=100000 path='foo/bar' href='idn'                                                                                          -0.60 %       ±0.73%  ±0.97%  ±1.26%
url/url-resolve.js n=100000 path='foo/bar' href='javascript'                                                                                    0.04 %       ±1.37%  ±1.82%  ±2.37%
url/url-resolve.js n=100000 path='foo/bar' href='long'                                                                                          0.21 %       ±0.40%  ±0.54%  ±0.70%
url/url-resolve.js n=100000 path='foo/bar' href='noscheme'                                                                                     -0.46 %       ±1.02%  ±1.36%  ±1.77%
url/url-resolve.js n=100000 path='foo/bar' href='percent'                                                                                       0.48 %       ±0.88%  ±1.17%  ±1.52%
url/url-resolve.js n=100000 path='foo/bar' href='short'                                                                                         0.29 %       ±0.80%  ±1.07%  ±1.39%
url/url-resolve.js n=100000 path='foo/bar' href='ws'                                                                                     *      1.07 %       ±0.90%  ±1.20%  ±1.57%
url/url-resolve.js n=100000 path='sibling' href='auth'                                                                                         -0.31 %       ±0.75%  ±1.00%  ±1.31%
url/url-resolve.js n=100000 path='sibling' href='dot'                                                                                           0.30 %       ±0.69%  ±0.92%  ±1.20%
url/url-resolve.js n=100000 path='sibling' href='file'                                                                                          0.08 %       ±0.85%  ±1.14%  ±1.48%
url/url-resolve.js n=100000 path='sibling' href='idn'                                                                                          -0.40 %       ±0.50%  ±0.67%  ±0.87%
url/url-resolve.js n=100000 path='sibling' href='javascript'                                                                                   -0.31 %       ±1.32%  ±1.75%  ±2.29%
url/url-resolve.js n=100000 path='sibling' href='long'                                                                                          0.05 %       ±0.44%  ±0.59%  ±0.77%
url/url-resolve.js n=100000 path='sibling' href='noscheme'                                                                                     -0.33 %       ±1.13%  ±1.50%  ±1.95%
url/url-resolve.js n=100000 path='sibling' href='percent'                                                                                       0.83 %       ±1.07%  ±1.42%  ±1.85%
url/url-resolve.js n=100000 path='sibling' href='short'                                                                                        -0.59 %       ±0.84%  ±1.11%  ±1.45%
url/url-resolve.js n=100000 path='sibling' href='ws'                                                                                           -0.63 %       ±0.71%  ±0.94%  ±1.22%
url/url-resolve.js n=100000 path='up' href='auth'                                                                                              -0.10 %       ±0.80%  ±1.06%  ±1.38%
url/url-resolve.js n=100000 path='up' href='dot'                                                                                                0.56 %       ±0.94%  ±1.25%  ±1.63%
url/url-resolve.js n=100000 path='up' href='file'                                                                                              -0.37 %       ±0.81%  ±1.08%  ±1.40%
url/url-resolve.js n=100000 path='up' href='idn'                                                                                               -0.47 %       ±0.68%  ±0.91%  ±1.18%
url/url-resolve.js n=100000 path='up' href='javascript'                                                                                         0.45 %       ±0.97%  ±1.29%  ±1.67%
url/url-resolve.js n=100000 path='up' href='long'                                                                                              -0.15 %       ±0.36%  ±0.48%  ±0.62%
url/url-resolve.js n=100000 path='up' href='noscheme'                                                                                          -0.09 %       ±0.89%  ±1.18%  ±1.54%
url/url-resolve.js n=100000 path='up' href='percent'                                                                                           -0.35 %       ±0.46%  ±0.61%  ±0.79%
url/url-resolve.js n=100000 path='up' href='short'                                                                                              0.39 %       ±0.75%  ±1.00%  ±1.31%
url/url-resolve.js n=100000 path='up' href='ws'                                                                                                -0.22 %       ±0.93%  ±1.24%  ±1.62%
url/url-resolve.js n=100000 path='withscheme' href='auth'                                                                                      -0.64 %       ±1.00%  ±1.33%  ±1.73%
url/url-resolve.js n=100000 path='withscheme' href='dot'                                                                                        0.51 %       ±1.17%  ±1.56%  ±2.03%
url/url-resolve.js n=100000 path='withscheme' href='file'                                                                                       0.06 %       ±1.47%  ±1.96%  ±2.55%
url/url-resolve.js n=100000 path='withscheme' href='idn'                                                                                        0.18 %       ±0.71%  ±0.94%  ±1.23%
url/url-resolve.js n=100000 path='withscheme' href='javascript'                                                                                -0.59 %       ±1.48%  ±1.97%  ±2.56%
url/url-resolve.js n=100000 path='withscheme' href='long'                                                                                      -0.07 %       ±0.44%  ±0.58%  ±0.76%
url/url-resolve.js n=100000 path='withscheme' href='noscheme'                                                                                   0.14 %       ±1.47%  ±1.96%  ±2.55%
url/url-resolve.js n=100000 path='withscheme' href='percent'                                                                                    0.09 %       ±1.35%  ±1.80%  ±2.34%
url/url-resolve.js n=100000 path='withscheme' href='short'                                                                                     -0.31 %       ±1.35%  ±1.80%  ±2.35%
url/url-resolve.js n=100000 path='withscheme' href='ws'                                                                                        -0.36 %       ±0.92%  ±1.22%  ±1.59%
url/url-searchparams-append.js n=1000 type='URL'                                                                                         *     -3.10 %       ±2.59%  ±3.45%  ±4.50%
url/url-searchparams-append.js n=1000 type='URLSearchParams'                                                                                   -1.11 %       ±2.20%  ±2.94%  ±3.84%
url/url-searchparams-append.js n=1000000 type='URL'                                                                                             0.65 %       ±2.99%  ±3.98%  ±5.18%
url/url-searchparams-append.js n=1000000 type='URLSearchParams'                                                                          *      2.72 %       ±2.70%  ±3.59%  ±4.68%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='array'                                                                    0.21 %       ±1.11%  ±1.47%  ±1.92%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodelast'                                                        *      1.53 %       ±1.49%  ±1.98%  ±2.58%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodemany'                                                               0.39 %       ±1.59%  ±2.12%  ±2.76%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='multiprimitives'                                                         -0.37 %       ±1.88%  ±2.50%  ±3.25%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='noencode'                                                                 0.40 %       ±1.29%  ±1.72%  ±2.24%
url/url-searchparams-creation.js n=1000000 inputType='object' type='array'                                                                     -0.11 %       ±0.52%  ±0.69%  ±0.90%
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodelast'                                                                 0.27 %       ±0.71%  ±0.94%  ±1.23%
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodemany'                                                                 0.38 %       ±0.77%  ±1.03%  ±1.34%
url/url-searchparams-creation.js n=1000000 inputType='object' type='multiprimitives'                                                            0.10 %       ±0.62%  ±0.83%  ±1.08%
url/url-searchparams-creation.js n=1000000 inputType='object' type='noencode'                                                           **      1.02 %       ±0.70%  ±0.93%  ±1.21%
url/url-searchparams-creation.js n=1000000 inputType='string' type='array'                                                                     -0.66 %       ±1.15%  ±1.54%  ±2.00%
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodelast'                                                                 0.25 %       ±1.42%  ±1.89%  ±2.46%
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodemany'                                                                -0.41 %       ±1.38%  ±1.83%  ±2.39%
url/url-searchparams-creation.js n=1000000 inputType='string' type='multiprimitives'                                                           -0.66 %       ±1.23%  ±1.64%  ±2.13%
url/url-searchparams-creation.js n=1000000 inputType='string' type='noencode'                                                                   0.06 %       ±1.26%  ±1.68%  ±2.19%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='empty'                                                               -0.54 %       ±2.17%  ±2.89%  ±3.76%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='large'                                                                0.18 %       ±0.58%  ±0.77%  ±1.01%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='medium'                                                              -0.44 %       ±0.56%  ±0.74%  ±0.97%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='small'                                                                0.11 %       ±0.54%  ±0.71%  ±0.93%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='empty'                                                                   0.85 %       ±2.08%  ±2.77%  ±3.61%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='large'                                                                   0.06 %       ±1.01%  ±1.34%  ±1.75%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='medium'                                                                 -0.09 %       ±0.55%  ±0.73%  ±0.95%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='small'                                                                   0.22 %       ±0.82%  ±1.08%  ±1.41%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='empty'                                                                 1.39 %       ±1.83%  ±2.44%  ±3.17%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='large'                                                          *      1.17 %       ±1.02%  ±1.36%  ±1.77%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='medium'                                                                0.10 %       ±0.62%  ±0.83%  ±1.08%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='small'                                                                -0.54 %       ±0.79%  ±1.05%  ±1.37%
url/url-searchparams-inspect.js n=100000 kind='params' variant='empty'                                                                   *     -4.05 %       ±3.84%  ±5.11%  ±6.66%
url/url-searchparams-inspect.js n=100000 kind='params' variant='large'                                                                         -0.85 %       ±1.09%  ±1.45%  ±1.88%
url/url-searchparams-inspect.js n=100000 kind='params' variant='medium'                                                                        -0.30 %       ±0.76%  ±1.01%  ±1.31%
url/url-searchparams-inspect.js n=100000 kind='params' variant='small'                                                                         -0.45 %       ±0.77%  ±1.03%  ±1.34%
url/url-searchparams-iteration.js n=1000000 loopMethod='forEach'                                                                                0.02 %       ±2.92%  ±3.89%  ±5.06%
url/url-searchparams-iteration.js n=1000000 loopMethod='iterator'                                                                              -1.19 %       ±1.23%  ±1.63%  ±2.13%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='get'                                                                  0.26 %       ±0.70%  ±0.93%  ±1.21%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='getAll'                                                              -0.50 %       ±0.61%  ±0.81%  ±1.06%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='has'                                                                 -0.44 %       ±0.76%  ±1.02%  ±1.32%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='get'                                                                          2.27 %       ±2.98%  ±3.98%  ±5.20%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='getAll'                                                                       0.41 %       ±1.55%  ±2.06%  ±2.68%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='has'                                                                          0.26 %       ±2.43%  ±3.24%  ±4.21%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='get'                                                                       -0.21 %       ±2.22%  ±2.96%  ±3.85%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='getAll'                                                                     1.57 %       ±1.79%  ±2.40%  ±3.17%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='has'                                                                        0.55 %       ±2.47%  ±3.28%  ±4.28%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='get'                                                                          2.09 %       ±2.76%  ±3.67%  ±4.77%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='getAll'                                                                       0.38 %       ±1.58%  ±2.11%  ±2.76%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='has'                                                                          0.50 %       ±2.51%  ±3.34%  ±4.35%
url/url-searchparams-sort.js n=1000000 type='almostsorted'                                                                                     -0.83 %       ±2.95%  ±3.93%  ±5.12%
url/url-searchparams-sort.js n=1000000 type='empty'                                                                                      *     -4.39 %       ±3.95%  ±5.29%  ±6.96%
url/url-searchparams-sort.js n=1000000 type='long'                                                                                             -0.54 %       ±1.27%  ±1.69%  ±2.20%
url/url-searchparams-sort.js n=1000000 type='random'                                                                                           -0.59 %       ±2.39%  ±3.18%  ±4.14%
url/url-searchparams-sort.js n=1000000 type='reversed'                                                                                          0.08 %       ±2.54%  ±3.38%  ±4.40%
url/url-searchparams-sort.js n=1000000 type='short'                                                                                             0.06 %       ±4.39%  ±5.84%  ±7.61%
url/url-searchparams-sort.js n=1000000 type='sorted'                                                                                            0.53 %       ±2.18%  ±2.90%  ±3.78%
url/url-searchparams-sort.js n=1000000 type='wpt'                                                                                              -0.52 %       ±3.90%  ±5.19%  ±6.75%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='array'                                                                   -0.17 %       ±1.03%  ±1.37%  ±1.78%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodelast'                                                              -0.01 %       ±0.93%  ±1.24%  ±1.61%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodemany'                                                              -0.08 %       ±0.95%  ±1.26%  ±1.64%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='multiprimitives'                                                          0.42 %       ±0.93%  ±1.23%  ±1.61%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='noencode'                                                                -0.25 %       ±0.87%  ±1.15%  ±1.51%
url/url-searchparams-toString.js n=1000000 inputType='object' type='array'                                                                     -0.74 %       ±0.90%  ±1.20%  ±1.56%
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodelast'                                                                -0.04 %       ±0.98%  ±1.30%  ±1.70%
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodemany'                                                                 0.61 %       ±1.10%  ±1.47%  ±1.91%
url/url-searchparams-toString.js n=1000000 inputType='object' type='multiprimitives'                                                           -0.38 %       ±1.04%  ±1.39%  ±1.82%
url/url-searchparams-toString.js n=1000000 inputType='object' type='noencode'                                                                   0.24 %       ±0.94%  ±1.25%  ±1.62%
url/url-searchparams-toString.js n=1000000 inputType='string' type='array'                                                                     -0.00 %       ±0.78%  ±1.04%  ±1.35%
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodelast'                                                                 0.07 %       ±1.12%  ±1.49%  ±1.93%
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodemany'                                                                -0.11 %       ±0.81%  ±1.08%  ±1.41%
url/url-searchparams-toString.js n=1000000 inputType='string' type='multiprimitives'                                                           -0.02 %       ±1.01%  ±1.34%  ±1.75%
url/url-searchparams-toString.js n=1000000 inputType='string' type='noencode'                                                                  -0.17 %       ±0.77%  ±1.03%  ±1.34%
url/url-searchparams-update.js n=1000000 property='hash' searchParams='false'                                                                   0.34 %       ±0.48%  ±0.64%  ±0.84%
url/url-searchparams-update.js n=1000000 property='hash' searchParams='true'                                                                   -0.24 %       ±0.49%  ±0.65%  ±0.84%
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='false'                                                               0.22 %       ±0.65%  ±0.86%  ±1.12%
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='true'                                                                0.02 %       ±0.52%  ±0.69%  ±0.90%
url/url-searchparams-update.js n=1000000 property='search' searchParams='false'                                                                -0.19 %       ±0.43%  ±0.57%  ±0.75%
url/url-searchparams-update.js n=1000000 property='search' searchParams='true'                                                                  0.12 %       ±0.62%  ±0.82%  ±1.07%
url/urlpattern-parse.js n=100000 pattern='"https://(sub.)?example(.com/)foo"'                                                                   0.36 %       ±0.36%  ±0.48%  ±0.63%
url/urlpattern-parse.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                       0.02 %       ±0.35%  ±0.47%  ±0.61%
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                                        -0.04 %       ±0.62%  ±0.83%  ±1.09%
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}'                -0.18 %       ±0.24%  ±0.32%  ±0.42%
url/urlpattern-test.js n=100000 pattern='"https://(sub.)?example(.com/)foo"'                                                                    0.70 %       ±1.17%  ±1.56%  ±2.03%
url/urlpattern-test.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                        0.09 %       ±1.25%  ±1.66%  ±2.17%
url/urlpattern-test.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                                         -0.31 %       ±0.90%  ±1.20%  ±1.56%
url/urlpattern-test.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}'                  0.66 %       ±0.96%  ±1.28%  ±1.69%
url/whatwg-url-canParse.js n=1000000 type='auth'                                                                                               -0.25 %       ±1.25%  ±1.66%  ±2.16%
url/whatwg-url-canParse.js n=1000000 type='dot'                                                                                                -0.03 %       ±1.37%  ±1.83%  ±2.38%
url/whatwg-url-canParse.js n=1000000 type='file'                                                                                               -0.07 %       ±1.74%  ±2.32%  ±3.02%
url/whatwg-url-canParse.js n=1000000 type='idn'                                                                                        ***      2.61 %       ±0.70%  ±0.94%  ±1.24%
url/whatwg-url-canParse.js n=1000000 type='javascript'                                                                                          1.01 %       ±1.24%  ±1.65%  ±2.15%
url/whatwg-url-canParse.js n=1000000 type='long'                                                                                                0.06 %       ±0.88%  ±1.18%  ±1.53%
url/whatwg-url-canParse.js n=1000000 type='percent'                                                                                            -0.43 %       ±0.53%  ±0.71%  ±0.93%
url/whatwg-url-canParse.js n=1000000 type='short'                                                                                              -0.80 %       ±1.44%  ±1.92%  ±2.50%
url/whatwg-url-canParse.js n=1000000 type='ws'                                                                                                  0.34 %       ±0.75%  ±0.99%  ±1.29%
url/whatwg-url-get-prop.js e=1 type='auth'                                                                                                    -11.75 %      ±13.07% ±17.47% ±22.90%
url/whatwg-url-get-prop.js e=1 type='dot'                                                                                                       1.16 %       ±1.46%  ±1.95%  ±2.53%
url/whatwg-url-get-prop.js e=1 type='file'                                                                                                      0.46 %       ±1.67%  ±2.23%  ±2.91%
url/whatwg-url-get-prop.js e=1 type='idn'                                                                                                *      2.46 %       ±2.40%  ±3.22%  ±4.24%
url/whatwg-url-get-prop.js e=1 type='javascript'                                                                                                0.27 %       ±1.87%  ±2.49%  ±3.24%
url/whatwg-url-get-prop.js e=1 type='long'                                                                                                    -14.97 %      ±27.16% ±36.14% ±47.04%
url/whatwg-url-get-prop.js e=1 type='percent'                                                                                                  -0.36 %       ±2.23%  ±2.97%  ±3.86%
url/whatwg-url-get-prop.js e=1 type='short'                                                                                                    -0.13 %       ±1.31%  ±1.74%  ±2.27%
url/whatwg-url-get-prop.js e=1 type='wpt'                                                                                                       7.52 %      ±27.21% ±36.21% ±47.12%
url/whatwg-url-get-prop.js e=1 type='ws'                                                                                                       -1.21 %       ±1.27%  ±1.70%  ±2.22%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='all'                                                                                        0.06 %       ±0.48%  ±0.64%  ±0.84%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='empty'                                                                                      0.40 %       ±0.88%  ±1.17%  ±1.53%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='none'                                                                                       0.11 %       ±0.28%  ±0.37%  ±0.48%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='nonstring'                                                                                  0.24 %       ±1.00%  ±1.33%  ±1.73%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='some'                                                                                       0.05 %       ±0.24%  ±0.32%  ±0.41%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='all'                                                                                     -0.16 %       ±0.26%  ±0.35%  ±0.45%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='empty'                                                                                    0.56 %       ±1.01%  ±1.35%  ±1.76%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='none'                                                                                     0.11 %       ±0.26%  ±0.34%  ±0.44%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='nonstring'                                                                                0.47 %       ±1.23%  ±1.64%  ±2.14%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='some'                                                                                    -0.44 %       ±0.76%  ±1.03%  ±1.36%
url/whatwg-url-parse.js e=1 type='auth' withBase='false'                                                                                        0.20 %       ±1.24%  ±1.65%  ±2.15%
url/whatwg-url-parse.js e=1 type='auth' withBase='true'                                                                                        -0.44 %       ±0.97%  ±1.29%  ±1.68%
url/whatwg-url-parse.js e=1 type='dot' withBase='false'                                                                                        -0.17 %       ±1.51%  ±2.01%  ±2.62%
url/whatwg-url-parse.js e=1 type='dot' withBase='true'                                                                                         -0.02 %       ±1.28%  ±1.71%  ±2.22%
url/whatwg-url-parse.js e=1 type='file' withBase='false'                                                                                       -1.12 %       ±2.29%  ±3.04%  ±3.96%
url/whatwg-url-parse.js e=1 type='file' withBase='true'                                                                                        -0.93 %       ±1.24%  ±1.65%  ±2.15%
url/whatwg-url-parse.js e=1 type='idn' withBase='false'                                                                                        -0.70 %       ±1.17%  ±1.56%  ±2.04%
url/whatwg-url-parse.js e=1 type='idn' withBase='true'                                                                                         -0.85 %       ±1.20%  ±1.60%  ±2.09%
url/whatwg-url-parse.js e=1 type='javascript' withBase='false'                                                                                  0.19 %       ±1.42%  ±1.89%  ±2.47%
url/whatwg-url-parse.js e=1 type='javascript' withBase='true'                                                                                  -0.71 %       ±1.21%  ±1.61%  ±2.10%
url/whatwg-url-parse.js e=1 type='long' withBase='false'                                                                                       -0.46 %       ±1.49%  ±1.98%  ±2.58%
url/whatwg-url-parse.js e=1 type='long' withBase='true'                                                                                 **     -1.88 %       ±1.32%  ±1.77%  ±2.31%
url/whatwg-url-parse.js e=1 type='percent' withBase='false'                                                                                    -0.49 %       ±0.98%  ±1.32%  ±1.73%
url/whatwg-url-parse.js e=1 type='percent' withBase='true'                                                                                     -0.00 %       ±1.10%  ±1.47%  ±1.91%
url/whatwg-url-parse.js e=1 type='short' withBase='false'                                                                                      -1.14 %       ±1.93%  ±2.57%  ±3.35%
url/whatwg-url-parse.js e=1 type='short' withBase='true'                                                                                       -0.64 %       ±1.37%  ±1.82%  ±2.38%
url/whatwg-url-parse.js e=1 type='wpt' withBase='false'                                                                                         1.25 %       ±3.52%  ±4.69%  ±6.12%
url/whatwg-url-parse.js e=1 type='wpt' withBase='true'                                                                                         -0.92 %       ±3.68%  ±4.90%  ±6.37%
url/whatwg-url-parse.js e=1 type='ws' withBase='false'                                                                                          0.13 %       ±1.65%  ±2.21%  ±2.88%
url/whatwg-url-parse.js e=1 type='ws' withBase='true'                                                                                          -0.44 %       ±0.96%  ±1.27%  ±1.66%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='false'                                                                       -6.37 %       ±6.83%  ±9.16% ±12.07%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='true'                                                                         0.81 %       ±6.82%  ±9.08% ±11.83%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='false'                                                               ***      7.93 %       ±4.49%  ±6.02%  ±7.91%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='true'                                                                         0.46 %       ±3.37%  ±4.50%  ±5.88%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='false'                                                                   -1.38 %       ±5.82%  ±7.74% ±10.08%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='true'                                                                     2.59 %       ±5.11%  ±6.81%  ±8.89%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='false'                                                                       -2.85 %       ±7.61% ±10.15% ±13.27%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='true'                                                                         3.13 %       ±3.68%  ±4.94%  ±6.52%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='false'                                                                     -0.10 %       ±8.45% ±11.29% ±14.79%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='true'                                                                      -2.45 %       ±3.64%  ±4.85%  ±6.33%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='false'                                                                   -0.96 %       ±9.25% ±12.31% ±16.02%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='true'                                                                     0.09 %       ±2.60%  ±3.46%  ±4.50%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='false'                                                                    3.73 %       ±4.32%  ±5.76%  ±7.53%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='true'                                                                     2.69 %       ±7.00%  ±9.35% ±12.24%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='false'                                                                       -1.04 %       ±5.09%  ±6.77%  ±8.83%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='true'                                                                         0.11 %       ±4.57%  ±6.08%  ±7.91%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='false'                                                                   -2.96 %       ±4.61%  ±6.15%  ±8.01%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='true'                                                                    -0.12 %       ±3.47%  ±4.62%  ±6.04%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='false'                                                                     -0.81 %       ±5.58%  ±7.42%  ±9.66%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='true'                                                                       2.64 %       ±4.82%  ±6.43%  ±8.41%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='false'                                                                6.50 %       ±8.08% ±10.81% ±14.20%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='true'                                                                 1.39 %       ±5.41%  ±7.21%  ±9.41%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='false'                                                                    1.91 %       ±8.03% ±10.71% ±13.99%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='true'                                                                     1.14 %       ±3.24%  ±4.31%  ±5.62%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool' method='pathToFileURL'                                           -1.12 %       ±1.67%  ±2.23%  ±2.90%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool#hash' method='pathToFileURL'                                       0.03 %       ±1.57%  ±2.09%  ±2.73%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null' method='pathToFileURL'                                                    *     -1.28 %       ±0.99%  ±1.32%  ±1.72%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='fileURLToPath'                            ***     37.40 %       ±2.83%  ±3.77%  ±4.91%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='pathToFileURL'                                     0.01 %       ±0.18%  ±0.24%  ±0.32%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='fileURLToPath'                       ***     41.78 %       ±2.13%  ±2.84%  ±3.71%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='pathToFileURL'                               -0.27 %       ±0.47%  ±0.63%  ±0.83%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='fileURLToPath'                                           ***     37.39 %       ±1.53%  ±2.04%  ±2.67%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='pathToFileURL'                                                    0.23 %       ±0.30%  ±0.40%  ±0.52%
url/whatwg-url-validity.js e=100000 type='invalid'                                                                                             -0.21 %       ±0.46%  ±0.61%  ±0.79%
url/whatwg-url-validity.js e=100000 type='valid'                                                                                               -1.50 %       ±5.24%  ±6.97%  ±9.08%

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

@aduh95 aduh95 added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. labels Dec 30, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 30, 2025
@nodejs-github-bot nodejs-github-bot merged commit 6e7a501 into nodejs:main Dec 30, 2025
78 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 6e7a501

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 pending requests for changes, and a CI started. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. needs-benchmark-ci PR that need a benchmark CI run. needs-ci PRs that need a full CI run. performance Issues and PRs related to the performance of Node.js. whatwg-url Issues and PRs related to the WHATWG URL implementation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants