Skip to content

lib: place value before done in iterator results - #66837

Open
bakkot wants to merge 3 commits into
nodejs:mainfrom
bakkot:iterator-result-value-first
Open

bakkot wants to merge 3 commits into
nodejs:mainfrom
bakkot:iterator-result-value-first

Conversation

@bakkot

@bakkot bakkot commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Spec requires this order, plus V8 optimizes it and not the reverse; as such this has some performance benefits (in this microbenchmark).

cc @trivikr since you added the lint rule enforcing the opposite order in #63526.

benchmark config ops/sec time per op
url/url-searchparams-iterator-consumers.js method='Map' +35.6% *** βˆ’26%
url/url-searchparams-iterator-consumers.js method='Array.from' +24.2% *** βˆ’19%
url/url-searchparams-iterator-consumers.js method='Object.fromEntries' +18.0% *** βˆ’15%
url/url-searchparams-iterator-consumers.js method='for-of' βˆ’0.9% *** +0.9%
webstreams/readable-async-iterator.js type='normal' +4.8% *** βˆ’4.6%
webstreams/readable-async-iterator.js type='bytes' +2.2% *** βˆ’2.1%
streams/readable-async-iterator.js sync='yes' +3.2% ** βˆ’3.1%
streams/readable-async-iterator.js sync='no' +1.4% * βˆ’1.4%

Assisted-by: claude:opus-5.5
Signed-off-by: Kevin Gibbons <bakkot@gmail.com>
V8 has a fast path for `{ value, done }` literals, but it must be that order.
Also, the ES spec technically requires that order.

Assisted-by: claude:opus-5.5
Signed-off-by: Kevin Gibbons <bakkot@gmail.com>
Apply the iterator-result-value-first lint fixer.

Assisted-by: claude:opus-5.5
Signed-off-by: Kevin Gibbons <bakkot@gmail.com>
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/performance
  • @nodejs/streams
  • @nodejs/url

@nodejs-github-bot nodejs-github-bot added lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run. labels Oct 18, 2026
@codecov

codecov Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.21053% with 6 lines in your changes missing coverage. Please review.
βœ… Project coverage is 90.49%. Comparing base (e463b48) to head (71922e3).
⚠️ Report is 19 commits behind head on main.

Files with missing lines Patch % Lines
lib/internal/webstreams/readablestream.js 85.71% 2 Missing ⚠️
lib/internal/fs/promises.js 80.00% 1 Missing ⚠️
lib/internal/source_map/source_map_cache_map.js 0.00% 1 Missing ⚠️
lib/internal/streams/readable.js 88.88% 1 Missing ⚠️
lib/internal/vfs/watcher.js 83.33% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #66837      +/-   ##
==========================================
- Coverage   92.85%   90.49%   -2.36%     
==========================================
  Files         428      797     +369     
  Lines      194833   277793   +82960     
  Branches    30108    53361   +23253     
==========================================
+ Hits       180907   251399   +70492     
- Misses      13599    16801    +3202     
- Partials      327     9593    +9266     
Files with missing lines Coverage Ξ”
lib/events.js 99.60% <100.00%> (+6.28%) ⬆️
lib/internal/url.js 93.40% <100.00%> (+12.45%) ⬆️
lib/internal/fs/promises.js 91.13% <80.00%> (+2.07%) ⬆️
lib/internal/source_map/source_map_cache_map.js 85.95% <0.00%> (ΓΈ)
lib/internal/streams/readable.js 95.91% <88.88%> (ΓΈ)
lib/internal/vfs/watcher.js 95.21% <83.33%> (ΓΈ)
lib/internal/webstreams/readablestream.js 98.11% <85.71%> (+0.04%) ⬆️

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

@trivikr
trivikr requested a review from jasnell October 19, 2026 01:21
@trivikr

trivikr commented Oct 19, 2026

Copy link
Copy Markdown
Member

FYI @jasnell as the original discussion was in #63521 (comment) (also linked in PR description #63526)

@LiviaMedeiros LiviaMedeiros left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The performance boost looks promising. Is this applicable to IterResult?

@saqibsafwan4-code

This comment was marked as off-topic.

@bakkot

bakkot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor Author

Is this applicable to IterResult?

Assuming you mean this one, no, the objects it creates have a different prototype (to avoid Object.prototype.then pollution) and so cannot share the V8 map.

@trivikr trivikr 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 Oct 19, 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 Oct 19, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@LiviaMedeiros LiviaMedeiros left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Assuming you mean this one, no, the objects it creates have a different prototype (to avoid Object.prototype.then pollution) and so cannot share the V8 map.

I wonder if reordering it purely for the sake of consistency would be worth the churn. Probably not (or at least not in the scope of this PR) so LGTM as is.

@trivikr trivikr added author ready PRs with CI started, the required approvals, and no outstanding review comments. needs-benchmark-ci PRs that need a benchmark CI run. labels Oct 20, 2026
@LiviaMedeiros

Copy link
Copy Markdown
Member

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

@bakkot

bakkot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

I can't see the benchmark; could someone relay the result? (Or give me permissions to see it.)

@H4ad

H4ad commented Oct 22, 2026

Copy link
Copy Markdown
Member

Benchmark Results:

url/legacy-url-get-prop.js e=1 type='long'                                                                                                       -5.56 %   Β±9.28%  Β±12.35%  Β±16.09%
url/legacy-url-get-prop.js e=1 type='short'                                                                                                      +0.35 %   Β±4.50%  Β±5.99%  Β±7.81%
url/legacy-url-get-prop.js e=1 type='idn'                                                                                                        -2.82 %   Β±6.64%  Β±8.84%  Β±11.52%
url/legacy-url-get-prop.js e=1 type='auth'                                                                                                       -1.15 %   Β±5.75%  Β±7.66%  Β±9.99%
url/legacy-url-get-prop.js e=1 type='file'                                                                                                       -5.53 %   Β±6.19%  Β±8.24%  Β±10.74%
url/legacy-url-get-prop.js e=1 type='ws'                                                                                                         +0.68 %   Β±6.62%  Β±8.80%  Β±11.46%
url/legacy-url-get-prop.js e=1 type='javascript'                                                                                   *             -4.33 %   Β±4.00%  Β±5.33%  Β±6.93%
url/legacy-url-get-prop.js e=1 type='percent'                                                                                                    +0.18 %   Β±5.06%  Β±6.73%  Β±8.77%
url/legacy-url-get-prop.js e=1 type='dot'                                                                                                        -0.96 %   Β±4.74%  Β±6.31%  Β±8.24%
url/legacy-url-get-prop.js e=1 type='wpt'                                                                                                        +2.39 %   Β±12.43%  Β±16.54%  Β±21.53%
url/legacy-url-parse.js e=1 type='long'                                                                                                          +0.00 %   Β±5.14%  Β±6.85%  Β±8.93%
url/legacy-url-parse.js e=1 type='short'                                                                                                         -1.23 %   Β±4.86%  Β±6.51%  Β±8.58%
url/legacy-url-parse.js e=1 type='idn'                                                                                                           -6.23 %   Β±6.86%  Β±9.14%  Β±11.91%
url/legacy-url-parse.js e=1 type='auth'                                                                                                          -1.63 %   Β±2.21%  Β±2.95%  Β±3.85%
url/legacy-url-parse.js e=1 type='file'                                                                                                          -2.55 %   Β±3.72%  Β±4.95%  Β±6.45%
url/legacy-url-parse.js e=1 type='ws'                                                                                                            -2.43 %   Β±3.34%  Β±4.48%  Β±5.90%
url/legacy-url-parse.js e=1 type='javascript'                                                                                                    +0.23 %   Β±2.90%  Β±3.86%  Β±5.03%
url/legacy-url-parse.js e=1 type='percent'                                                                                                       +0.40 %   Β±3.39%  Β±4.53%  Β±5.96%
url/legacy-url-parse.js e=1 type='dot'                                                                                                           +1.55 %   Β±3.07%  Β±4.09%  Β±5.35%
url/legacy-url-parse.js e=1 type='wpt'                                                                                             *            -19.11 %   Β±15.28%  Β±20.34%  Β±26.49%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='noencode'                                                  +0.54 %   Β±1.05%  Β±1.40%  Β±1.82%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='noencode'                                                  -0.14 %   Β±1.80%  Β±2.40%  Β±3.12%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multicharsep'                                              -1.09 %   Β±1.14%  Β±1.52%  Β±1.98%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multicharsep'                                              -0.44 %   Β±1.17%  Β±1.56%  Β±2.03%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodefake'                                                +0.22 %   Β±0.92%  Β±1.22%  Β±1.59%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodefake'                                                +0.21 %   Β±1.29%  Β±1.71%  Β±2.23%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodemany'                                                -0.12 %   Β±0.44%  Β±0.59%  Β±0.77%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodemany'                                                -0.07 %   Β±0.64%  Β±0.85%  Β±1.11%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodelast'                                                -0.24 %   Β±0.72%  Β±0.95%  Β±1.24%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodelast'                                                -0.40 %   Β±0.69%  Β±0.92%  Β±1.19%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivalue'                                                -0.44 %   Β±0.85%  Β±1.14%  Β±1.48%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivalue'                                                +0.40 %   Β±1.59%  Β±2.11%  Β±2.75%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivaluemany'                                            -0.46 %   Β±0.96%  Β±1.28%  Β±1.67%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivaluemany'                                            -0.05 %   Β±0.71%  Β±0.94%  Β±1.23%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manypairs'                                                 +0.54 %   Β±1.07%  Β±1.42%  Β±1.85%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manypairs'                                                 -0.24 %   Β±1.31%  Β±1.74%  Β±2.27%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manyblankpairs'                                            -0.42 %   Β±2.33%  Β±3.10%  Β±4.03%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                            -0.74 %   Β±1.34%  Β±1.78%  Β±2.32%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='altspaces'                                                 -0.01 %   Β±1.30%  Β±1.73%  Β±2.26%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='altspaces'                                                 -0.45 %   Β±0.59%  Β±0.79%  Β±1.02%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='noencode'                                              -0.67 %   Β±1.32%  Β±1.76%  Β±2.29%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='noencode'                                              +2.35 %   Β±5.73%  Β±7.66%  Β±10.02%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multicharsep'                                          -1.64 %   Β±2.08%  Β±2.78%  Β±3.64%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multicharsep'                            *             -3.94 %   Β±3.23%  Β±4.29%  Β±5.59%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodefake'                                            -0.20 %   Β±0.98%  Β±1.31%  Β±1.70%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodefake'                                            +0.06 %   Β±3.57%  Β±4.75%  Β±6.18%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodemany'                                            +0.07 %   Β±1.25%  Β±1.66%  Β±2.16%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodemany'                                            +0.30 %   Β±3.15%  Β±4.20%  Β±5.47%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodelast'                                            -0.53 %   Β±1.06%  Β±1.40%  Β±1.83%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodelast'                                            +0.59 %   Β±3.61%  Β±4.80%  Β±6.25%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivalue'                                            -0.07 %   Β±1.21%  Β±1.61%  Β±2.10%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivalue'                                            -0.91 %   Β±3.38%  Β±4.49%  Β±5.85%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivaluemany'                                        +0.91 %   Β±1.18%  Β±1.56%  Β±2.04%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivaluemany'                                        -0.83 %   Β±3.87%  Β±5.15%  Β±6.71%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manypairs'                                             +0.15 %   Β±1.79%  Β±2.38%  Β±3.09%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manypairs'                                             -0.62 %   Β±3.18%  Β±4.23%  Β±5.51%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manyblankpairs'                                        -1.52 %   Β±5.47%  Β±7.28%  Β±9.48%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                        -0.58 %   Β±3.89%  Β±5.18%  Β±6.75%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='altspaces'                                             +0.59 %   Β±1.15%  Β±1.53%  Β±1.99%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='altspaces'                                             +1.28 %   Β±5.53%  Β±7.39%  Β±9.69%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='long'                                                                            -3.04 %   Β±4.54%  Β±6.05%  Β±7.88%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='long'                                                                            +0.03 %   Β±2.47%  Β±3.28%  Β±4.27%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='short'                                                                           +0.91 %   Β±3.82%  Β±5.09%  Β±6.66%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='short'                                                                           +4.00 %   Β±4.31%  Β±5.79%  Β±7.65%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='idn'                                                                             -1.07 %   Β±5.88%  Β±7.82%  Β±10.18%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='idn'                                                                             +0.45 %   Β±6.80%  Β±9.06%  Β±11.80%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='auth'                                                                            -2.98 %   Β±6.02%  Β±8.01%  Β±10.43%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='auth'                                                                            -1.22 %   Β±2.77%  Β±3.68%  Β±4.80%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='file'                                                                            +3.98 %   Β±5.32%  Β±7.12%  Β±9.37%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='file'                                                                            -2.81 %   Β±3.66%  Β±4.92%  Β±6.48%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='ws'                                                               **             -4.02 %   Β±2.97%  Β±3.97%  Β±5.20%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='ws'                                                                              -3.57 %   Β±4.35%  Β±5.83%  Β±7.66%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='javascript'                                                                      -1.28 %   Β±1.80%  Β±2.41%  Β±3.15%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='javascript'                                                                      -3.66 %   Β±4.05%  Β±5.43%  Β±7.14%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='percent'                                                                         -1.04 %   Β±3.80%  Β±5.05%  Β±6.58%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='percent'                                                                         -1.53 %   Β±5.55%  Β±7.39%  Β±9.62%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='dot'                                                                             +1.52 %   Β±3.08%  Β±4.11%  Β±5.38%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='dot'                                                                             -0.62 %   Β±3.59%  Β±4.78%  Β±6.22%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='wpt'                                                                             -0.62 %   Β±3.98%  Β±5.30%  Β±6.91%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='wpt'                                                                             +0.70 %   Β±3.05%  Β±4.06%  Β±5.29%
url/url-format.js n=25000000 type='slashes'                                                                                                      -0.31 %   Β±2.11%  Β±2.81%  Β±3.66%
url/url-format.js n=25000000 type='file'                                                                                           *             -1.23 %   Β±0.94%  Β±1.26%  Β±1.64%
url/url-parse.js n=10000000 type='normal'                                                                                                        +0.64 %   Β±1.03%  Β±1.37%  Β±1.80%
url/url-parse.js n=10000000 type='escaped'                                                                                                       -0.39 %   Β±0.82%  Β±1.09%  Β±1.41%
url/url-resolve.js n=100000 path='up' href='long'                                                                                                +0.08 %   Β±0.66%  Β±0.87%  Β±1.13%
url/url-resolve.js n=100000 path='sibling' href='long'                                                                                           -0.15 %   Β±0.60%  Β±0.80%  Β±1.05%
url/url-resolve.js n=100000 path='foo/bar' href='long'                                                                                           +0.03 %   Β±0.54%  Β±0.72%  Β±0.94%
url/url-resolve.js n=100000 path='withscheme' href='long'                                                                                        -0.02 %   Β±0.95%  Β±1.26%  Β±1.64%
url/url-resolve.js n=100000 path='down' href='long'                                                                                              +0.25 %   Β±0.56%  Β±0.75%  Β±0.98%
url/url-resolve.js n=100000 path='up' href='short'                                                                                               -0.48 %   Β±1.23%  Β±1.64%  Β±2.14%
url/url-resolve.js n=100000 path='sibling' href='short'                                                                                          +0.31 %   Β±0.83%  Β±1.11%  Β±1.44%
url/url-resolve.js n=100000 path='foo/bar' href='short'                                                                                          +0.52 %   Β±1.23%  Β±1.64%  Β±2.14%
url/url-resolve.js n=100000 path='withscheme' href='short'                                                                                       +0.89 %   Β±0.98%  Β±1.31%  Β±1.71%
url/url-resolve.js n=100000 path='down' href='short'                                                                                             +0.31 %   Β±1.24%  Β±1.65%  Β±2.15%
url/url-resolve.js n=100000 path='up' href='idn'                                                                                                 -0.42 %   Β±0.98%  Β±1.31%  Β±1.70%
url/url-resolve.js n=100000 path='sibling' href='idn'                                                                                            -0.07 %   Β±1.04%  Β±1.39%  Β±1.81%
url/url-resolve.js n=100000 path='foo/bar' href='idn'                                                                                            +0.82 %   Β±1.08%  Β±1.44%  Β±1.87%
url/url-resolve.js n=100000 path='withscheme' href='idn'                                                                                         -0.08 %   Β±0.69%  Β±0.92%  Β±1.20%
url/url-resolve.js n=100000 path='down' href='idn'                                                                                               +0.04 %   Β±0.83%  Β±1.11%  Β±1.45%
url/url-resolve.js n=100000 path='up' href='auth'                                                                                                +0.64 %   Β±0.83%  Β±1.10%  Β±1.44%
url/url-resolve.js n=100000 path='sibling' href='auth'                                                                                           +0.33 %   Β±0.63%  Β±0.84%  Β±1.10%
url/url-resolve.js n=100000 path='foo/bar' href='auth'                                                                                           +0.48 %   Β±1.07%  Β±1.42%  Β±1.85%
url/url-resolve.js n=100000 path='withscheme' href='auth'                                                                                        -0.86 %   Β±0.86%  Β±1.14%  Β±1.49%
url/url-resolve.js n=100000 path='down' href='auth'                                                                                              -0.50 %   Β±0.84%  Β±1.12%  Β±1.46%
url/url-resolve.js n=100000 path='up' href='file'                                                                                                +0.65 %   Β±1.11%  Β±1.47%  Β±1.92%
url/url-resolve.js n=100000 path='sibling' href='file'                                                                                           +1.25 %   Β±1.44%  Β±1.92%  Β±2.50%
url/url-resolve.js n=100000 path='foo/bar' href='file'                                                                                           -0.26 %   Β±0.97%  Β±1.30%  Β±1.69%
url/url-resolve.js n=100000 path='withscheme' href='file'                                                                                        +0.02 %   Β±1.02%  Β±1.36%  Β±1.77%
url/url-resolve.js n=100000 path='down' href='file'                                                                                              -0.74 %   Β±1.27%  Β±1.68%  Β±2.19%
url/url-resolve.js n=100000 path='up' href='ws'                                                                                                  +0.10 %   Β±0.71%  Β±0.95%  Β±1.24%
url/url-resolve.js n=100000 path='sibling' href='ws'                                                                                             +0.07 %   Β±0.73%  Β±0.98%  Β±1.27%
url/url-resolve.js n=100000 path='foo/bar' href='ws'                                                                                             +0.02 %   Β±1.01%  Β±1.34%  Β±1.74%
url/url-resolve.js n=100000 path='withscheme' href='ws'                                                                                          +0.08 %   Β±0.90%  Β±1.20%  Β±1.56%
url/url-resolve.js n=100000 path='down' href='ws'                                                                                                +0.14 %   Β±0.84%  Β±1.11%  Β±1.45%
url/url-resolve.js n=100000 path='up' href='javascript'                                                                            *             -1.47 %   Β±1.23%  Β±1.63%  Β±2.12%
url/url-resolve.js n=100000 path='sibling' href='javascript'                                                                                     +0.39 %   Β±1.01%  Β±1.35%  Β±1.76%
url/url-resolve.js n=100000 path='foo/bar' href='javascript'                                                                                     -0.55 %   Β±1.64%  Β±2.19%  Β±2.85%
url/url-resolve.js n=100000 path='withscheme' href='javascript'                                                                                  -0.27 %   Β±1.36%  Β±1.81%  Β±2.36%
url/url-resolve.js n=100000 path='down' href='javascript'                                                                                        +0.48 %   Β±1.05%  Β±1.40%  Β±1.82%
url/url-resolve.js n=100000 path='up' href='percent'                                                                                             +0.08 %   Β±1.19%  Β±1.59%  Β±2.07%
url/url-resolve.js n=100000 path='sibling' href='percent'                                                                                        -0.62 %   Β±1.27%  Β±1.69%  Β±2.19%
url/url-resolve.js n=100000 path='foo/bar' href='percent'                                                                                        -0.76 %   Β±0.91%  Β±1.22%  Β±1.58%
url/url-resolve.js n=100000 path='withscheme' href='percent'                                                                                     +0.00 %   Β±1.07%  Β±1.43%  Β±1.86%
url/url-resolve.js n=100000 path='down' href='percent'                                                                                           -0.34 %   Β±1.04%  Β±1.39%  Β±1.81%
url/url-resolve.js n=100000 path='up' href='dot'                                                                                                 -0.06 %   Β±0.93%  Β±1.23%  Β±1.61%
url/url-resolve.js n=100000 path='sibling' href='dot'                                                                                            -0.14 %   Β±1.25%  Β±1.68%  Β±2.20%
url/url-resolve.js n=100000 path='foo/bar' href='dot'                                                                                            +0.06 %   Β±1.00%  Β±1.33%  Β±1.73%
url/url-resolve.js n=100000 path='withscheme' href='dot'                                                                                         -0.25 %   Β±1.07%  Β±1.42%  Β±1.85%
url/url-resolve.js n=100000 path='down' href='dot'                                                                                               -0.67 %   Β±0.93%  Β±1.23%  Β±1.61%
url/url-resolve.js n=100000 path='up' href='noscheme'                                                                                            +0.39 %   Β±1.19%  Β±1.59%  Β±2.06%
url/url-resolve.js n=100000 path='sibling' href='noscheme'                                                                                       -1.00 %   Β±1.14%  Β±1.52%  Β±1.98%
url/url-resolve.js n=100000 path='foo/bar' href='noscheme'                                                                                       -0.71 %   Β±1.28%  Β±1.70%  Β±2.21%
url/url-resolve.js n=100000 path='withscheme' href='noscheme'                                                                                    -0.59 %   Β±1.25%  Β±1.66%  Β±2.16%
url/url-resolve.js n=100000 path='down' href='noscheme'                                                                                          -0.68 %   Β±1.40%  Β±1.86%  Β±2.42%
url/url-searchparams-append.js n=1000 type='URL'                                                                                                 -1.38 %   Β±2.73%  Β±3.64%  Β±4.75%
url/url-searchparams-append.js n=1000000 type='URL'                                                                                              +1.24 %   Β±1.38%  Β±1.84%  Β±2.39%
url/url-searchparams-append.js n=1000 type='URLSearchParams'                                                                                     -1.63 %   Β±3.56%  Β±4.74%  Β±6.17%
url/url-searchparams-append.js n=1000000 type='URLSearchParams'                                                                                  -0.19 %   Β±1.50%  Β±2.00%  Β±2.60%
url/url-searchparams-creation.js n=1000000 inputType='string' type='noencode'                                                                    -1.50 %   Β±1.53%  Β±2.04%  Β±2.66%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='noencode'                                                                  +0.16 %   Β±1.86%  Β±2.47%  Β±3.22%
url/url-searchparams-creation.js n=1000000 inputType='object' type='noencode'                                                                    +0.27 %   Β±1.66%  Β±2.22%  Β±2.88%
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodemany'                                                                  -0.11 %   Β±1.68%  Β±2.23%  Β±2.91%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodemany'                                                                +0.53 %   Β±1.97%  Β±2.62%  Β±3.41%
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodemany'                                                                  +0.32 %   Β±2.12%  Β±2.83%  Β±3.71%
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodelast'                                                                  +0.32 %   Β±1.57%  Β±2.09%  Β±2.72%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodelast'                                                                +0.04 %   Β±1.95%  Β±2.60%  Β±3.38%
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodelast'                                                                  -0.73 %   Β±1.38%  Β±1.83%  Β±2.39%
url/url-searchparams-creation.js n=1000000 inputType='string' type='array'                                                                       +1.73 %   Β±1.81%  Β±2.40%  Β±3.13%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='array'                                                                     +0.11 %   Β±1.07%  Β±1.43%  Β±1.86%
url/url-searchparams-creation.js n=1000000 inputType='object' type='array'                                                                       +0.11 %   Β±1.36%  Β±1.82%  Β±2.36%
url/url-searchparams-creation.js n=1000000 inputType='string' type='multiprimitives'                                                             +0.42 %   Β±1.71%  Β±2.28%  Β±2.97%
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='multiprimitives'                                             *             +2.43 %   Β±1.98%  Β±2.63%  Β±3.43%
url/url-searchparams-creation.js n=1000000 inputType='object' type='multiprimitives'                                                             +0.64 %   Β±1.54%  Β±2.04%  Β±2.66%
url/url-searchparams-inspect.js n=100000 kind='params' variant='empty'                                                                           +0.18 %   Β±4.84%  Β±6.44%  Β±8.40%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='empty'                                                                    -0.68 %   Β±2.18%  Β±2.90%  Β±3.78%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='empty'                                                                  -1.52 %   Β±2.04%  Β±2.72%  Β±3.54%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='empty'                                                                 -1.77 %   Β±2.06%  Β±2.74%  Β±3.57%
url/url-searchparams-inspect.js n=100000 kind='params' variant='small'                                                                           -0.15 %   Β±0.85%  Β±1.13%  Β±1.47%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='small'                                                                    +0.33 %   Β±0.90%  Β±1.20%  Β±1.56%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='small'                                                                  +0.64 %   Β±0.97%  Β±1.28%  Β±1.67%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='small'                                                                 +0.02 %   Β±0.71%  Β±0.94%  Β±1.23%
url/url-searchparams-inspect.js n=100000 kind='params' variant='medium'                                                                          +0.01 %   Β±0.49%  Β±0.65%  Β±0.84%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='medium'                                                                   +0.03 %   Β±0.43%  Β±0.57%  Β±0.75%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='medium'                                                                 -0.22 %   Β±0.58%  Β±0.77%  Β±1.00%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='medium'                                                                +0.47 %   Β±0.46%  Β±0.62%  Β±0.81%
url/url-searchparams-inspect.js n=100000 kind='params' variant='large'                                                                           -0.39 %   Β±0.71%  Β±0.95%  Β±1.24%
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='large'                                                                    +0.29 %   Β±0.75%  Β±1.00%  Β±1.30%
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='large'                                                                  +0.06 %   Β±0.76%  Β±1.01%  Β±1.31%
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='large'                                                                 -0.33 %   Β±0.89%  Β±1.18%  Β±1.54%
url/url-searchparams-iteration.js n=1000000 loopMethod='forEach'                                                                                 -0.71 %   Β±4.97%  Β±6.61%  Β±8.60%
url/url-searchparams-iteration.js n=1000000 loopMethod='iterator'                                                                                -0.26 %   Β±1.86%  Β±2.47%  Β±3.21%
url/url-searchparams-iterator-consumers.js n=1000000 method='Array.from'                                                         ***            +20.97 %   Β±1.50%  Β±2.00%  Β±2.62%
url/url-searchparams-iterator-consumers.js n=1000000 method='Map'                                                                ***            +35.69 %   Β±1.49%  Β±1.99%  Β±2.60%
url/url-searchparams-iterator-consumers.js n=1000000 method='Object.fromEntries'                                                 ***            +17.29 %   Β±1.13%  Β±1.50%  Β±1.97%
url/url-searchparams-iterator-consumers.js n=1000000 method='for-of'                                                                             +0.07 %   Β±1.82%  Β±2.42%  Β±3.14%
url/url-searchparams-mutation.js n=10000 count=10 type='unique' method='set'                                                                    -19.24 %   Β±22.01%  Β±29.29%  Β±38.14%
url/url-searchparams-mutation.js n=10000 count=1000 type='unique' method='set'                                                                   +0.89 %   Β±2.70%  Β±3.60%  Β±4.68%
url/url-searchparams-mutation.js n=10000 count=10 type='duplicates' method='set'                                                                 -2.00 %   Β±24.57%  Β±32.69%  Β±42.54%
url/url-searchparams-mutation.js n=10000 count=1000 type='duplicates' method='set'                                                               -0.37 %   Β±1.25%  Β±1.66%  Β±2.16%
url/url-searchparams-mutation.js n=10000 count=10 type='unique' method='delete'                                                                  -4.06 %   Β±23.83%  Β±31.71%  Β±41.28%
url/url-searchparams-mutation.js n=10000 count=1000 type='unique' method='delete'                                                                -0.31 %   Β±1.90%  Β±2.53%  Β±3.30%
url/url-searchparams-mutation.js n=10000 count=10 type='duplicates' method='delete'                                                              -7.30 %   Β±24.18%  Β±32.17%  Β±41.87%
url/url-searchparams-mutation.js n=10000 count=1000 type='duplicates' method='delete'                                                            -0.59 %   Β±1.77%  Β±2.36%  Β±3.07%
url/url-searchparams-percent-scan.js encoding='valid' position='start' length=32 n=100000                                                        +1.93 %   Β±3.04%  Β±4.04%  Β±5.26%
url/url-searchparams-percent-scan.js encoding='invalid' position='start' length=32 n=100000                                                      +0.81 %   Β±5.53%  Β±7.36%  Β±9.58%
url/url-searchparams-percent-scan.js encoding='unicode' position='start' length=32 n=100000                                                      +1.37 %   Β±3.25%  Β±4.33%  Β±5.63%
url/url-searchparams-percent-scan.js encoding='plain' position='start' length=32 n=100000                                                        -2.67 %   Β±7.96%  Β±10.59%  Β±13.79%
url/url-searchparams-percent-scan.js encoding='valid' position='end' length=32 n=100000                                                          +2.10 %   Β±3.14%  Β±4.18%  Β±5.45%
url/url-searchparams-percent-scan.js encoding='invalid' position='end' length=32 n=100000                                                        -1.11 %   Β±4.96%  Β±6.60%  Β±8.60%
url/url-searchparams-percent-scan.js encoding='unicode' position='end' length=32 n=100000                                                        +1.35 %   Β±3.23%  Β±4.30%  Β±5.59%
url/url-searchparams-percent-scan.js encoding='plain' position='end' length=32 n=100000                                                          +6.51 %   Β±9.57%  Β±12.73%  Β±16.57%
url/url-searchparams-percent-scan.js encoding='valid' position='start' length=1024 n=100000                                                      -0.38 %   Β±0.89%  Β±1.19%  Β±1.55%
url/url-searchparams-percent-scan.js encoding='invalid' position='start' length=1024 n=100000                                                    -2.12 %   Β±5.81%  Β±7.73%  Β±10.06%
url/url-searchparams-percent-scan.js encoding='unicode' position='start' length=1024 n=100000                                                    +0.15 %   Β±1.00%  Β±1.33%  Β±1.73%
url/url-searchparams-percent-scan.js encoding='plain' position='start' length=1024 n=100000                                                      -1.01 %   Β±8.53%  Β±11.35%  Β±14.78%
url/url-searchparams-percent-scan.js encoding='valid' position='end' length=1024 n=100000                                                        -0.16 %   Β±0.98%  Β±1.31%  Β±1.70%
url/url-searchparams-percent-scan.js encoding='invalid' position='end' length=1024 n=100000                                                      +1.66 %   Β±5.27%  Β±7.02%  Β±9.14%
url/url-searchparams-percent-scan.js encoding='unicode' position='end' length=1024 n=100000                                                      +0.72 %   Β±1.07%  Β±1.43%  Β±1.86%
url/url-searchparams-percent-scan.js encoding='plain' position='end' length=1024 n=100000                                                        +3.67 %   Β±9.15%  Β±12.17%  Β±15.84%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='get'                                                                           +0.53 %   Β±1.47%  Β±1.96%  Β±2.55%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='get'                                                                           -0.84 %   Β±2.67%  Β±3.56%  Β±4.64%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='get'                                                                         -1.45 %   Β±1.70%  Β±2.26%  Β±2.94%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='get'                                                                   +0.01 %   Β±0.54%  Β±0.72%  Β±0.94%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='getAll'                                                                        +0.02 %   Β±1.53%  Β±2.04%  Β±2.66%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='getAll'                                                                        +0.34 %   Β±1.57%  Β±2.09%  Β±2.72%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='getAll'                                                                      -0.33 %   Β±1.82%  Β±2.43%  Β±3.16%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='getAll'                                                  *             +0.61 %   Β±0.60%  Β±0.80%  Β±1.05%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='has'                                                                           +0.29 %   Β±1.46%  Β±1.96%  Β±2.57%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='has'                                                                           +0.04 %   Β±1.97%  Β±2.62%  Β±3.41%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='has'                                                                         -0.98 %   Β±1.94%  Β±2.59%  Β±3.37%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='has'                                                                   -0.26 %   Β±0.54%  Β±0.71%  Β±0.93%
url/url-searchparams-sort-scaling.js order='sorted' size=49 n=10000                                                                              -0.99 %   Β±7.88%  Β±10.48%  Β±13.65%
url/url-searchparams-sort-scaling.js order='reversed' size=49 n=10000                                                                            +0.02 %   Β±0.75%  Β±0.99%  Β±1.30%
url/url-searchparams-sort-scaling.js order='shuffled' size=49 n=10000                                                                            +1.02 %   Β±2.54%  Β±3.38%  Β±4.40%
url/url-searchparams-sort-scaling.js order='duplicates' size=49 n=10000                                                                          -1.82 %   Β±2.27%  Β±3.03%  Β±3.95%
url/url-searchparams-sort-scaling.js order='sorted' size=50 n=10000                                                                              -1.65 %   Β±4.98%  Β±6.62%  Β±8.62%
url/url-searchparams-sort-scaling.js order='reversed' size=50 n=10000                                                                            +2.71 %   Β±3.82%  Β±5.10%  Β±6.67%
url/url-searchparams-sort-scaling.js order='shuffled' size=50 n=10000                                                                            -0.47 %   Β±3.42%  Β±4.55%  Β±5.93%
url/url-searchparams-sort-scaling.js order='duplicates' size=50 n=10000                                                                          -0.46 %   Β±3.42%  Β±4.55%  Β±5.93%
url/url-searchparams-sort-scaling.js order='sorted' size=65 n=10000                                                                *             +4.01 %   Β±3.05%  Β±4.06%  Β±5.29%
url/url-searchparams-sort-scaling.js order='reversed' size=65 n=10000                                                                            +0.52 %   Β±2.82%  Β±3.75%  Β±4.88%
url/url-searchparams-sort-scaling.js order='shuffled' size=65 n=10000                                                                            -1.44 %   Β±1.65%  Β±2.20%  Β±2.87%
url/url-searchparams-sort-scaling.js order='duplicates' size=65 n=10000                                                                          +0.92 %   Β±2.15%  Β±2.86%  Β±3.73%
url/url-searchparams-sort-scaling.js order='sorted' size=256 n=10000                                                                             -0.23 %   Β±0.51%  Β±0.67%  Β±0.88%
url/url-searchparams-sort-scaling.js order='reversed' size=256 n=10000                                                                           -0.00 %   Β±0.28%  Β±0.37%  Β±0.48%
url/url-searchparams-sort-scaling.js order='shuffled' size=256 n=10000                                                                           +0.22 %   Β±0.39%  Β±0.52%  Β±0.67%
url/url-searchparams-sort-scaling.js order='duplicates' size=256 n=10000                                                                         +0.23 %   Β±0.51%  Β±0.67%  Β±0.88%
url/url-searchparams-sort-scaling.js order='sorted' size=1024 n=10000                                                                            +0.05 %   Β±0.28%  Β±0.37%  Β±0.48%
url/url-searchparams-sort-scaling.js order='reversed' size=1024 n=10000                                                                          +0.03 %   Β±0.07%  Β±0.09%  Β±0.12%
url/url-searchparams-sort-scaling.js order='shuffled' size=1024 n=10000                                                                          -0.07 %   Β±0.15%  Β±0.20%  Β±0.26%
url/url-searchparams-sort-scaling.js order='duplicates' size=1024 n=10000                                                                        -0.14 %   Β±0.46%  Β±0.61%  Β±0.80%
url/url-searchparams-sort.js n=1000000 type='wpt'                                                                                                +1.74 %   Β±3.16%  Β±4.21%  Β±5.48%
url/url-searchparams-sort.js n=1000000 type='empty'                                                                                              -1.02 %   Β±4.56%  Β±6.07%  Β±7.90%
url/url-searchparams-sort.js n=1000000 type='sorted'                                                                                             -0.14 %   Β±1.47%  Β±1.96%  Β±2.56%
url/url-searchparams-sort.js n=1000000 type='almostsorted'                                                                                       -1.01 %   Β±1.13%  Β±1.50%  Β±1.95%
url/url-searchparams-sort.js n=1000000 type='reversed'                                                                             *             +0.56 %   Β±0.49%  Β±0.65%  Β±0.85%
url/url-searchparams-sort.js n=1000000 type='random'                                                                                             +0.22 %   Β±0.73%  Β±0.97%  Β±1.27%
url/url-searchparams-sort.js n=1000000 type='short'                                                                                              -0.48 %   Β±1.19%  Β±1.59%  Β±2.07%
url/url-searchparams-sort.js n=1000000 type='long'                                                                                               +0.01 %   Β±0.14%  Β±0.19%  Β±0.24%
url/url-searchparams-toString.js n=1000000 inputType='string' type='noencode'                                                                    -0.42 %   Β±2.22%  Β±2.98%  Β±3.92%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='noencode'                                                                  +0.81 %   Β±1.70%  Β±2.26%  Β±2.94%
url/url-searchparams-toString.js n=1000000 inputType='object' type='noencode'                                                                    +1.51 %   Β±1.92%  Β±2.56%  Β±3.34%
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodemany'                                                                  +0.72 %   Β±2.47%  Β±3.30%  Β±4.32%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodemany'                                                                +0.38 %   Β±2.04%  Β±2.71%  Β±3.53%
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodemany'                                                    *             +2.60 %   Β±2.25%  Β±3.00%  Β±3.91%
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodelast'                                                                  -0.30 %   Β±1.46%  Β±1.95%  Β±2.55%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodelast'                                                                +0.60 %   Β±2.56%  Β±3.41%  Β±4.44%
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodelast'                                                                  +1.13 %   Β±2.36%  Β±3.14%  Β±4.09%
url/url-searchparams-toString.js n=1000000 inputType='string' type='array'                                                                       +1.66 %   Β±2.05%  Β±2.73%  Β±3.55%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='array'                                                                     +0.59 %   Β±1.75%  Β±2.33%  Β±3.05%
url/url-searchparams-toString.js n=1000000 inputType='object' type='array'                                                                       -0.52 %   Β±2.32%  Β±3.09%  Β±4.03%
url/url-searchparams-toString.js n=1000000 inputType='string' type='multiprimitives'                                                             +0.98 %   Β±2.40%  Β±3.19%  Β±4.15%
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='multiprimitives'                                                           +3.05 %   Β±4.71%  Β±6.31%  Β±8.32%
url/url-searchparams-toString.js n=1000000 inputType='object' type='multiprimitives'                                                             +1.71 %   Β±2.44%  Β±3.25%  Β±4.23%
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='true'                                                                 +0.25 %   Β±1.12%  Β±1.50%  Β±1.96%
url/url-searchparams-update.js n=1000000 property='search' searchParams='true'                                                                   -0.35 %   Β±0.65%  Β±0.86%  Β±1.12%
url/url-searchparams-update.js n=1000000 property='hash' searchParams='true'                                                                     +0.65 %   Β±1.45%  Β±1.93%  Β±2.53%
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='false'                                                                +0.06 %   Β±0.92%  Β±1.23%  Β±1.60%
url/url-searchparams-update.js n=1000000 property='search' searchParams='false'                                                                  -0.70 %   Β±1.02%  Β±1.35%  Β±1.77%
url/url-searchparams-update.js n=1000000 property='hash' searchParams='false'                                                     **             -1.97 %   Β±1.36%  Β±1.82%  Β±2.39%
url/urlpattern-parse.js n=100000 pattern='"https://(sub.)?example(.com/)foo"'                                                                    -0.01 %   Β±0.56%  Β±0.75%  Β±0.97%
url/urlpattern-parse.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                        -0.26 %   Β±0.50%  Β±0.67%  Β±0.87%
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}'                  -0.20 %   Β±0.40%  Β±0.53%  Β±0.69%
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                            *             -0.71 %   Β±0.68%  Β±0.90%  Β±1.18%
url/urlpattern-test.js n=100000 pattern='"https://(sub.)?example(.com/)foo"'                                                                     -0.64 %   Β±3.03%  Β±4.04%  Β±5.25%
url/urlpattern-test.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                         -1.37 %   Β±3.82%  Β±5.08%  Β±6.61%
url/urlpattern-test.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}'                   +1.65 %   Β±3.91%  Β±5.20%  Β±6.77%
url/urlpattern-test.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                                           +1.64 %   Β±3.71%  Β±4.94%  Β±6.43%
url/whatwg-url-canParse.js n=1000000 type='long'                                                                                                 -1.39 %   Β±1.96%  Β±2.61%  Β±3.41%
url/whatwg-url-canParse.js n=1000000 type='short'                                                                                                -2.37 %   Β±2.50%  Β±3.33%  Β±4.34%
url/whatwg-url-canParse.js n=1000000 type='idn'                                                                                                  -0.10 %   Β±0.29%  Β±0.38%  Β±0.50%
url/whatwg-url-canParse.js n=1000000 type='auth'                                                                                                 -0.43 %   Β±1.04%  Β±1.39%  Β±1.81%
url/whatwg-url-canParse.js n=1000000 type='file'                                                                                                 -1.45 %   Β±1.60%  Β±2.13%  Β±2.78%
url/whatwg-url-canParse.js n=1000000 type='ws'                                                                                                   -1.64 %   Β±1.97%  Β±2.62%  Β±3.41%
url/whatwg-url-canParse.js n=1000000 type='javascript'                                                                                           +0.53 %   Β±2.05%  Β±2.73%  Β±3.56%
url/whatwg-url-canParse.js n=1000000 type='percent'                                                                                              -0.39 %   Β±0.58%  Β±0.77%  Β±1.00%
url/whatwg-url-canParse.js n=1000000 type='dot'                                                                                                  +0.93 %   Β±3.26%  Β±4.34%  Β±5.66%
url/whatwg-url-get-prop.js e=1 type='long'                                                                                                       -0.91 %   Β±2.98%  Β±3.97%  Β±5.18%
url/whatwg-url-get-prop.js e=1 type='short'                                                                                                      -1.10 %   Β±2.94%  Β±3.91%  Β±5.09%
url/whatwg-url-get-prop.js e=1 type='idn'                                                                                         **             +9.16 %   Β±6.11%  Β±8.14%  Β±10.61%
url/whatwg-url-get-prop.js e=1 type='auth'                                                                                                       -2.15 %   Β±6.56%  Β±8.79%  Β±11.59%
url/whatwg-url-get-prop.js e=1 type='file'                                                                                                       +0.48 %   Β±3.57%  Β±4.75%  Β±6.19%
url/whatwg-url-get-prop.js e=1 type='ws'                                                                                                         +0.54 %   Β±2.75%  Β±3.66%  Β±4.77%
url/whatwg-url-get-prop.js e=1 type='javascript'                                                                                                 +1.18 %   Β±4.43%  Β±5.90%  Β±7.68%
url/whatwg-url-get-prop.js e=1 type='percent'                                                                                                    +3.98 %   Β±6.06%  Β±8.06%  Β±10.50%
url/whatwg-url-get-prop.js e=1 type='dot'                                                                                                        -0.13 %   Β±3.07%  Β±4.09%  Β±5.32%
url/whatwg-url-get-prop.js e=1 type='wpt'                                                                                                        -3.11 %   Β±7.23%  Β±9.62%  Β±12.52%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='empty'                                                                                       +0.98 %   Β±1.29%  Β±1.72%  Β±2.24%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='empty'                                                                                     -1.08 %   Β±1.24%  Β±1.65%  Β±2.16%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='none'                                                                                        +0.09 %   Β±0.31%  Β±0.41%  Β±0.53%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='none'                                                                                      -0.02 %   Β±0.27%  Β±0.36%  Β±0.47%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='some'                                                                                        -0.00 %   Β±0.25%  Β±0.34%  Β±0.44%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='some'                                                                                      -0.12 %   Β±0.26%  Β±0.34%  Β±0.45%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='all'                                                                                         +0.24 %   Β±0.31%  Β±0.42%  Β±0.55%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='all'                                                                                       -0.04 %   Β±0.20%  Β±0.26%  Β±0.34%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='nonstring'                                                                                   +0.96 %   Β±1.25%  Β±1.66%  Β±2.16%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='nonstring'                                                                                 -0.41 %   Β±1.24%  Β±1.65%  Β±2.14%
url/whatwg-url-parse.js e=1 type='long' withBase='true'                                                                            *             -3.09 %   Β±2.77%  Β±3.70%  Β±4.86%
url/whatwg-url-parse.js e=1 type='short' withBase='true'                                                                                         +1.53 %   Β±3.16%  Β±4.20%  Β±5.47%
url/whatwg-url-parse.js e=1 type='idn' withBase='true'                                                                                           -0.66 %   Β±4.17%  Β±5.54%  Β±7.22%
url/whatwg-url-parse.js e=1 type='auth' withBase='true'                                                                                          +0.12 %   Β±2.23%  Β±2.97%  Β±3.88%
url/whatwg-url-parse.js e=1 type='file' withBase='true'                                                                                          -1.44 %   Β±3.18%  Β±4.25%  Β±5.55%
url/whatwg-url-parse.js e=1 type='ws' withBase='true'                                                                            ***             -4.54 %   Β±2.50%  Β±3.34%  Β±4.37%
url/whatwg-url-parse.js e=1 type='javascript' withBase='true'                                                                                    -0.11 %   Β±3.80%  Β±5.08%  Β±6.65%
url/whatwg-url-parse.js e=1 type='percent' withBase='true'                                                                                       -0.11 %   Β±5.51%  Β±7.33%  Β±9.54%
url/whatwg-url-parse.js e=1 type='dot' withBase='true'                                                                                           -2.25 %   Β±2.80%  Β±3.72%  Β±4.85%
url/whatwg-url-parse.js e=1 type='wpt' withBase='true'                                                                             *             -9.18 %   Β±8.91%  Β±11.89%  Β±15.54%
url/whatwg-url-parse.js e=1 type='long' withBase='false'                                                                                         +0.95 %   Β±3.75%  Β±4.99%  Β±6.50%
url/whatwg-url-parse.js e=1 type='short' withBase='false'                                                                                        +0.01 %   Β±3.69%  Β±4.90%  Β±6.39%
url/whatwg-url-parse.js e=1 type='idn' withBase='false'                                                                                          -1.96 %   Β±4.50%  Β±5.99%  Β±7.79%
url/whatwg-url-parse.js e=1 type='auth' withBase='false'                                                                                         -1.62 %   Β±3.10%  Β±4.13%  Β±5.38%
url/whatwg-url-parse.js e=1 type='file' withBase='false'                                                                                         +0.63 %   Β±3.07%  Β±4.09%  Β±5.32%
url/whatwg-url-parse.js e=1 type='ws' withBase='false'                                                                                           +0.89 %   Β±3.31%  Β±4.40%  Β±5.73%
url/whatwg-url-parse.js e=1 type='javascript' withBase='false'                                                                                   -0.22 %   Β±3.08%  Β±4.09%  Β±5.33%
url/whatwg-url-parse.js e=1 type='percent' withBase='false'                                                                                      +2.53 %   Β±4.94%  Β±6.57%  Β±8.55%
url/whatwg-url-parse.js e=1 type='dot' withBase='false'                                                                                          +1.11 %   Β±3.38%  Β±4.50%  Β±5.86%
url/whatwg-url-parse.js e=1 type='wpt' withBase='false'                                                                                         +20.52 %   Β±34.57%  Β±46.00%  Β±59.87%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='true'                                                                          +8.11 %   Β±9.87%  Β±13.14%  Β±17.11%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='true'                                                                        -0.24 %   Β±11.36%  Β±15.12%  Β±19.69%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='true'                                                                      +3.04 %   Β±11.71%  Β±15.58%  Β±20.29%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='true'                                                                      -9.80 %   Β±10.54%  Β±14.04%  Β±18.28%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='true'                                                                      +1.95 %   Β±10.69%  Β±14.23%  Β±18.52%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='true'                                                                          +7.13 %   Β±11.33%  Β±15.07%  Β±19.62%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='true'                                                                      +2.87 %   Β±12.46%  Β±16.58%  Β±21.58%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='true'                                                                          -8.30 %   Β±11.69%  Β±15.56%  Β±20.25%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='true'                                                                      -5.48 %   Β±11.91%  Β±15.85%  Β±20.63%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='true'                                                                        +4.80 %   Β±12.90%  Β±17.17%  Β±22.35%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='true'                                                                  -8.18 %   Β±11.96%  Β±15.92%  Β±20.74%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='true'                                                                          -1.98 %   Β±11.11%  Β±14.78%  Β±19.24%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='false'                                                                         -6.06 %   Β±10.77%  Β±14.37%  Β±18.78%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='false'                                                                       -1.72 %   Β±12.26%  Β±16.31%  Β±21.23%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='false'                                                                     -3.81 %   Β±6.80%  Β±9.05%  Β±11.78%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='false'                                                                     +1.68 %   Β±9.56%  Β±12.72%  Β±16.57%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='false'                                                                     -7.52 %   Β±7.67%  Β±10.21%  Β±13.29%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='false'                                                                         -1.92 %   Β±7.87%  Β±10.49%  Β±13.66%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='false'                                                                     -2.31 %   Β±8.14%  Β±10.85%  Β±14.16%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='false'                                                                         -1.80 %   Β±9.02%  Β±12.00%  Β±15.64%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='false'                                                                     +2.60 %   Β±9.35%  Β±12.46%  Β±16.28%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='false'                                                                       +2.22 %   Β±9.90%  Β±13.21%  Β±17.25%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='false'                                                                 -0.05 %   Β±7.88%  Β±10.49%  Β±13.66%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='false'                                                                         -6.17 %   Β±7.77%  Β±10.34%  Β±13.46%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null' method='pathToFileURL'                                                            +0.30 %   Β±0.75%  Β±1.00%  Β±1.30%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool' method='pathToFileURL'                                             -0.72 %   Β±1.17%  Β±1.57%  Β±2.08%
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool#hash' method='pathToFileURL'                                        -0.31 %   Β±0.68%  Β±0.90%  Β±1.18%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='pathToFileURL'                                                     -0.12 %   Β±0.47%  Β±0.62%  Β±0.81%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='pathToFileURL'                                      -0.26 %   Β±0.27%  Β±0.36%  Β±0.47%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='pathToFileURL'                                 -0.00 %   Β±0.79%  Β±1.06%  Β±1.37%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='fileURLToPath'                                                     -0.06 %   Β±1.10%  Β±1.47%  Β±1.93%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='fileURLToPath'                        *             -0.81 %   Β±0.80%  Β±1.06%  Β±1.38%
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='fileURLToPath'                                 +0.20 %   Β±1.06%  Β±1.41%  Β±1.83%
url/whatwg-url-validity.js e=100000 type='valid'                                                                                                 +2.57 %   Β±7.46%  Β±9.93%  Β±12.92%
url/whatwg-url-validity.js e=100000 type='invalid'                                                                                               +0.23 %   Β±1.00%  Β±1.33%  Β±1.73%

                                                                                                                                    -55.1%             0%             +55.1%
url/legacy-url-get-prop.js e=1 type='long'                                                                                                      β–‘β–‘β–‘β–“β–“|                     -5.56% 
url/legacy-url-get-prop.js e=1 type='short'                                                                                                        β–‘β–‘|β–‘                    +0.35% 
url/legacy-url-get-prop.js e=1 type='idn'                                                                                                         β–‘β–‘β–“|                     -2.82% 
url/legacy-url-get-prop.js e=1 type='auth'                                                                                                        β–‘β–‘β–‘|β–‘                    -1.15% 
url/legacy-url-get-prop.js e=1 type='file'                                                                                                       β–‘β–‘β–“β–“|                     -5.53% 
url/legacy-url-get-prop.js e=1 type='ws'                                                                                                           β–‘β–‘|β–‘β–‘                   +0.68% 
url/legacy-url-get-prop.js e=1 type='javascript'                                                                                                  β–‘β–ˆβ–ˆ|                     -4.33% *
url/legacy-url-get-prop.js e=1 type='percent'                                                                                                      β–‘β–‘|β–‘                    +0.18% 
url/legacy-url-get-prop.js e=1 type='dot'                                                                                                          β–‘β–‘|                     -0.96% 
url/legacy-url-get-prop.js e=1 type='wpt'                                                                                                        β–‘β–‘β–‘β–‘|β–‘β–‘β–‘β–‘                 +2.39% 
url/legacy-url-parse.js e=1 type='long'                                                                                                            β–‘β–‘|β–‘                    +0.00% 
url/legacy-url-parse.js e=1 type='short'                                                                                                           β–‘β–‘|                     -1.23% 
url/legacy-url-parse.js e=1 type='idn'                                                                                                          β–‘β–‘β–‘β–“β–“|                     -6.23% 
url/legacy-url-parse.js e=1 type='auth'                                                                                                             β–“|                     -1.63% 
url/legacy-url-parse.js e=1 type='file'                                                                                                            β–‘β–“|                     -2.55% 
url/legacy-url-parse.js e=1 type='ws'                                                                                                              β–‘β–“|                     -2.43% 
url/legacy-url-parse.js e=1 type='javascript'                                                                                                       β–‘|                     +0.23% 
url/legacy-url-parse.js e=1 type='percent'                                                                                                          β–‘|                     +0.40% 
url/legacy-url-parse.js e=1 type='dot'                                                                                                              β–‘|β–‘                    +1.55% 
url/legacy-url-parse.js e=1 type='wpt'                                                                                                   β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ|                     -19.11% *
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='noencode'                                                      |                     +0.54% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='noencode'                                                     β–‘|                     -0.14% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multicharsep'                                                 β–‘|                     -1.09% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multicharsep'                                                 β–‘|                     -0.44% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodefake'                                                    |                     +0.22% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodefake'                                                    |                     +0.21% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodemany'                                                    |                     -0.12% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodemany'                                                    |                     -0.07% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodelast'                                                    |                     -0.24% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodelast'                                                    |                     -0.40% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivalue'                                                    |                     -0.44% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivalue'                                                    |                     +0.40% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivaluemany'                                               β–‘|                     -0.46% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivaluemany'                                                |                     -0.05% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manypairs'                                                     |                     +0.54% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manypairs'                                                    β–‘|                     -0.24% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manyblankpairs'                                               β–‘|                     -0.42% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                               β–‘|                     -0.74% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='altspaces'                                                     |                     -0.01% 
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='altspaces'                                                     |                     -0.45% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='noencode'                                                 β–‘|                     -0.67% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='noencode'                                                 β–‘|β–‘β–‘                   +2.35% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multicharsep'                                             β–“|                     -1.64% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multicharsep'                                           β–‘β–‘β–ˆ|                     -3.94% *
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodefake'                                                |                     -0.20% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodefake'                                               β–‘|                     +0.06% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodemany'                                                |                     +0.07% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodemany'                                               β–‘|                     +0.30% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodelast'                                               β–‘|                     -0.53% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodelast'                                               β–‘|β–‘                    +0.59% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivalue'                                                |                     -0.07% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivalue'                                              β–‘β–‘|                     -0.91% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivaluemany'                                            |                     +0.91% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivaluemany'                                          β–‘β–‘|                     -0.83% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manypairs'                                                β–‘|                     +0.15% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manypairs'                                                β–‘|                     -0.62% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manyblankpairs'                                         β–‘β–‘β–“|                     -1.52% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manyblankpairs'                                          β–‘β–‘|                     -0.58% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='altspaces'                                                 |                     +0.59% 
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='altspaces'                                               β–‘β–‘|β–‘                    +1.28% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='long'                                                                             β–‘β–‘β–“|                     -3.04% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='long'                                                                               β–‘|                     +0.03% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='short'                                                                              β–‘|β–‘                    +0.91% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='short'                                                                               |β–‘β–‘                   +4.00% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='idn'                                                                              β–‘β–‘β–‘|β–‘                    -1.07% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='idn'                                                                               β–‘β–‘|β–‘β–‘                   +0.45% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='auth'                                                                             β–‘β–‘β–“|                     -2.98% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='auth'                                                                               β–‘|                     -1.22% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='file'                                                                                |β–‘β–‘                   +3.98% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='file'                                                                              β–‘β–“|                     -2.81% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='ws'                                                                               β–‘β–‘β–ˆ|                     -4.02% **
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='ws'                                                                               β–‘β–‘β–“|                     -3.57% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='javascript'                                                                         β–‘|                     -1.28% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='javascript'                                                                       β–‘β–‘β–“|                     -3.66% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='percent'                                                                           β–‘β–‘|                     -1.04% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='percent'                                                                          β–‘β–‘β–“|                     -1.53% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='dot'                                                                                β–‘|β–‘                    +1.52% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='dot'                                                                               β–‘β–‘|                     -0.62% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='wpt'                                                                               β–‘β–‘|                     -0.62% 
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='wpt'                                                                                β–‘|                     +0.70% 
url/url-format.js n=25000000 type='slashes'                                                                                                         β–‘|                     -0.31% 
url/url-format.js n=25000000 type='file'                                                                                                            β–‘|                     -1.23% *
url/url-parse.js n=10000000 type='normal'                                                                                                            |                     +0.64% 
url/url-parse.js n=10000000 type='escaped'                                                                                                           |                     -0.39% 
url/url-resolve.js n=100000 path='up' href='long'                                                                                                    |                     +0.08% 
url/url-resolve.js n=100000 path='sibling' href='long'                                                                                               |                     -0.15% 
url/url-resolve.js n=100000 path='foo/bar' href='long'                                                                                               |                     +0.03% 
url/url-resolve.js n=100000 path='withscheme' href='long'                                                                                            |                     -0.02% 
url/url-resolve.js n=100000 path='down' href='long'                                                                                                  |                     +0.25% 
url/url-resolve.js n=100000 path='up' href='short'                                                                                                  β–‘|                     -0.48% 
url/url-resolve.js n=100000 path='sibling' href='short'                                                                                              |                     +0.31% 
url/url-resolve.js n=100000 path='foo/bar' href='short'                                                                                              |                     +0.52% 
url/url-resolve.js n=100000 path='withscheme' href='short'                                                                                           |                     +0.89% 
url/url-resolve.js n=100000 path='down' href='short'                                                                                                 |                     +0.31% 
url/url-resolve.js n=100000 path='up' href='idn'                                                                                                    β–‘|                     -0.42% 
url/url-resolve.js n=100000 path='sibling' href='idn'                                                                                                |                     -0.07% 
url/url-resolve.js n=100000 path='foo/bar' href='idn'                                                                                                |                     +0.82% 
url/url-resolve.js n=100000 path='withscheme' href='idn'                                                                                             |                     -0.08% 
url/url-resolve.js n=100000 path='down' href='idn'                                                                                                   |                     +0.04% 
url/url-resolve.js n=100000 path='up' href='auth'                                                                                                    |                     +0.64% 
url/url-resolve.js n=100000 path='sibling' href='auth'                                                                                               |                     +0.33% 
url/url-resolve.js n=100000 path='foo/bar' href='auth'                                                                                               |                     +0.48% 
url/url-resolve.js n=100000 path='withscheme' href='auth'                                                                                           β–‘|                     -0.86% 
url/url-resolve.js n=100000 path='down' href='auth'                                                                                                  |                     -0.50% 
url/url-resolve.js n=100000 path='up' href='file'                                                                                                    |                     +0.65% 
url/url-resolve.js n=100000 path='sibling' href='file'                                                                                               |                     +1.25% 
url/url-resolve.js n=100000 path='foo/bar' href='file'                                                                                               |                     -0.26% 
url/url-resolve.js n=100000 path='withscheme' href='file'                                                                                            |                     +0.02% 
url/url-resolve.js n=100000 path='down' href='file'                                                                                                 β–‘|                     -0.74% 
url/url-resolve.js n=100000 path='up' href='ws'                                                                                                      |                     +0.10% 
url/url-resolve.js n=100000 path='sibling' href='ws'                                                                                                 |                     +0.07% 
url/url-resolve.js n=100000 path='foo/bar' href='ws'                                                                                                 |                     +0.02% 
url/url-resolve.js n=100000 path='withscheme' href='ws'                                                                                              |                     +0.08% 
url/url-resolve.js n=100000 path='down' href='ws'                                                                                                    |                     +0.14% 
url/url-resolve.js n=100000 path='up' href='javascript'                                                                                             β–ˆ|                     -1.47% *
url/url-resolve.js n=100000 path='sibling' href='javascript'                                                                                         |                     +0.39% 
url/url-resolve.js n=100000 path='foo/bar' href='javascript'                                                                                        β–‘|                     -0.55% 
url/url-resolve.js n=100000 path='withscheme' href='javascript'                                                                                     β–‘|                     -0.27% 
url/url-resolve.js n=100000 path='down' href='javascript'                                                                                            |                     +0.48% 
url/url-resolve.js n=100000 path='up' href='percent'                                                                                                 |                     +0.08% 
url/url-resolve.js n=100000 path='sibling' href='percent'                                                                                           β–‘|                     -0.62% 
url/url-resolve.js n=100000 path='foo/bar' href='percent'                                                                                           β–‘|                     -0.76% 
url/url-resolve.js n=100000 path='withscheme' href='percent'                                                                                         |                     +0.00% 
url/url-resolve.js n=100000 path='down' href='percent'                                                                                              β–‘|                     -0.34% 
url/url-resolve.js n=100000 path='up' href='dot'                                                                                                     |                     -0.06% 
url/url-resolve.js n=100000 path='sibling' href='dot'                                                                                               β–‘|                     -0.14% 
url/url-resolve.js n=100000 path='foo/bar' href='dot'                                                                                                |                     +0.06% 
url/url-resolve.js n=100000 path='withscheme' href='dot'                                                                                             |                     -0.25% 
url/url-resolve.js n=100000 path='down' href='dot'                                                                                                  β–‘|                     -0.67% 
url/url-resolve.js n=100000 path='up' href='noscheme'                                                                                                |                     +0.39% 
url/url-resolve.js n=100000 path='sibling' href='noscheme'                                                                                          β–‘|                     -1.00% 
url/url-resolve.js n=100000 path='foo/bar' href='noscheme'                                                                                          β–‘|                     -0.71% 
url/url-resolve.js n=100000 path='withscheme' href='noscheme'                                                                                       β–‘|                     -0.59% 
url/url-resolve.js n=100000 path='down' href='noscheme'                                                                                             β–‘|                     -0.68% 
url/url-searchparams-append.js n=1000 type='URL'                                                                                                    β–“|                     -1.38% 
url/url-searchparams-append.js n=1000000 type='URL'                                                                                                  |                     +1.24% 
url/url-searchparams-append.js n=1000 type='URLSearchParams'                                                                                       β–‘β–“|                     -1.63% 
url/url-searchparams-append.js n=1000000 type='URLSearchParams'                                                                                     β–‘|                     -0.19% 
url/url-searchparams-creation.js n=1000000 inputType='string' type='noencode'                                                                       β–“|                     -1.50% 
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='noencode'                                                                     β–‘|                     +0.16% 
url/url-searchparams-creation.js n=1000000 inputType='object' type='noencode'                                                                       β–‘|                     +0.27% 
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodemany'                                                                     β–‘|                     -0.11% 
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodemany'                                                                   β–‘|                     +0.53% 
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodemany'                                                                     β–‘|                     +0.32% 
url/url-searchparams-creation.js n=1000000 inputType='string' type='encodelast'                                                                      |                     +0.32% 
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='encodelast'                                                                   β–‘|                     +0.04% 
url/url-searchparams-creation.js n=1000000 inputType='object' type='encodelast'                                                                     β–‘|                     -0.73% 
url/url-searchparams-creation.js n=1000000 inputType='string' type='array'                                                                           |                     +1.73% 
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='array'                                                                         |                     +0.11% 
url/url-searchparams-creation.js n=1000000 inputType='object' type='array'                                                                           |                     +0.11% 
url/url-searchparams-creation.js n=1000000 inputType='string' type='multiprimitives'                                                                 |                     +0.42% 
url/url-searchparams-creation.js n=1000000 inputType='iterable' type='multiprimitives'                                                               |β–‘                    +2.43% *
url/url-searchparams-creation.js n=1000000 inputType='object' type='multiprimitives'                                                                 |                     +0.64% 
url/url-searchparams-inspect.js n=100000 kind='params' variant='empty'                                                                             β–‘β–‘|β–‘                    +0.18% 
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='empty'                                                                       β–‘|                     -0.68% 
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='empty'                                                                     β–“|                     -1.52% 
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='empty'                                                                    β–“|                     -1.77% 
url/url-searchparams-inspect.js n=100000 kind='params' variant='small'                                                                               |                     -0.15% 
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='small'                                                                        |                     +0.33% 
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='small'                                                                      |                     +0.64% 
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='small'                                                                     |                     +0.02% 
url/url-searchparams-inspect.js n=100000 kind='params' variant='medium'                                                                              |                     +0.01% 
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='medium'                                                                       |                     +0.03% 
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='medium'                                                                     |                     -0.22% 
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='medium'                                                                    |                     +0.47% 
url/url-searchparams-inspect.js n=100000 kind='params' variant='large'                                                                               |                     -0.39% 
url/url-searchparams-inspect.js n=100000 kind='iterator-keys' variant='large'                                                                        |                     +0.29% 
url/url-searchparams-inspect.js n=100000 kind='iterator-values' variant='large'                                                                      |                     +0.06% 
url/url-searchparams-inspect.js n=100000 kind='iterator-entries' variant='large'                                                                     |                     -0.33% 
url/url-searchparams-iteration.js n=1000000 loopMethod='forEach'                                                                                   β–‘β–‘|β–‘                    -0.71% 
url/url-searchparams-iteration.js n=1000000 loopMethod='iterator'                                                                                   β–‘|                     -0.26% 
url/url-searchparams-iterator-consumers.js n=1000000 method='Array.from'                                                                             |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ              +20.97% ***
url/url-searchparams-iterator-consumers.js n=1000000 method='Map'                                                                                    |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘        +35.69% ***
url/url-searchparams-iterator-consumers.js n=1000000 method='Object.fromEntries'                                                                     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘               +17.29% ***
url/url-searchparams-iterator-consumers.js n=1000000 method='for-of'                                                                                β–‘|                     +0.07% 
url/url-searchparams-mutation.js n=10000 count=10 type='unique' method='set'                                                          β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–“β–“β–“β–“β–“β–“β–“|                     -19.24% 
url/url-searchparams-mutation.js n=10000 count=1000 type='unique' method='set'                                                                      β–‘|                     +0.89% 
url/url-searchparams-mutation.js n=10000 count=10 type='duplicates' method='set'                                                           β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–“|β–‘β–‘β–‘β–‘β–‘β–‘β–‘              -2.00% 
url/url-searchparams-mutation.js n=10000 count=1000 type='duplicates' method='set'                                                                  β–‘|                     -0.37% 
url/url-searchparams-mutation.js n=10000 count=10 type='unique' method='delete'                                                            β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–“|β–‘β–‘β–‘β–‘β–‘β–‘               -4.06% 
url/url-searchparams-mutation.js n=10000 count=1000 type='unique' method='delete'                                                                   β–‘|                     -0.31% 
url/url-searchparams-mutation.js n=10000 count=10 type='duplicates' method='delete'                                                       β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–“β–“β–“|β–‘β–‘β–‘β–‘β–‘                -7.30% 
url/url-searchparams-mutation.js n=10000 count=1000 type='duplicates' method='delete'                                                               β–‘|                     -0.59% 
url/url-searchparams-percent-scan.js encoding='valid' position='start' length=32 n=100000                                                            |β–‘                    +1.93% 
url/url-searchparams-percent-scan.js encoding='invalid' position='start' length=32 n=100000                                                        β–‘β–‘|β–‘                    +0.81% 
url/url-searchparams-percent-scan.js encoding='unicode' position='start' length=32 n=100000                                                         β–‘|β–‘                    +1.37% 
url/url-searchparams-percent-scan.js encoding='plain' position='start' length=32 n=100000                                                        β–‘β–‘β–‘β–“|β–‘                    -2.67% 
url/url-searchparams-percent-scan.js encoding='valid' position='end' length=32 n=100000                                                              |β–‘                    +2.10% 
url/url-searchparams-percent-scan.js encoding='invalid' position='end' length=32 n=100000                                                          β–‘β–‘|                     -1.11% 
url/url-searchparams-percent-scan.js encoding='unicode' position='end' length=32 n=100000                                                           β–‘|β–‘                    +1.35% 
url/url-searchparams-percent-scan.js encoding='plain' position='end' length=32 n=100000                                                             β–‘|β–“β–‘β–‘β–‘β–‘                +6.51% 
url/url-searchparams-percent-scan.js encoding='valid' position='start' length=1024 n=100000                                                          |                     -0.38% 
url/url-searchparams-percent-scan.js encoding='invalid' position='start' length=1024 n=100000                                                     β–‘β–‘β–“|                     -2.12% 
url/url-searchparams-percent-scan.js encoding='unicode' position='start' length=1024 n=100000                                                        |                     +0.15% 
url/url-searchparams-percent-scan.js encoding='plain' position='start' length=1024 n=100000                                                       β–‘β–‘β–‘|β–‘β–‘                   -1.01% 
url/url-searchparams-percent-scan.js encoding='valid' position='end' length=1024 n=100000                                                            |                     -0.16% 
url/url-searchparams-percent-scan.js encoding='invalid' position='end' length=1024 n=100000                                                         β–‘|β–‘β–‘                   +1.66% 
url/url-searchparams-percent-scan.js encoding='unicode' position='end' length=1024 n=100000                                                          |                     +0.72% 
url/url-searchparams-percent-scan.js encoding='plain' position='end' length=1024 n=100000                                                          β–‘β–‘|β–‘β–‘β–‘β–‘                 +3.67% 
url/url-searchparams-read.js n=20000000 param='one' accessMethod='get'                                                                               |                     +0.53% 
url/url-searchparams-read.js n=20000000 param='two' accessMethod='get'                                                                              β–‘|                     -0.84% 
url/url-searchparams-read.js n=20000000 param='three' accessMethod='get'                                                                            β–“|                     -1.45% 
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='get'                                                                       |                     +0.01% 
url/url-searchparams-read.js n=20000000 param='one' accessMethod='getAll'                                                                           β–‘|                     +0.02% 
url/url-searchparams-read.js n=20000000 param='two' accessMethod='getAll'                                                                            |                     +0.34% 
url/url-searchparams-read.js n=20000000 param='three' accessMethod='getAll'                                                                         β–‘|                     -0.33% 
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='getAll'                                                                    |                     +0.61% *
url/url-searchparams-read.js n=20000000 param='one' accessMethod='has'                                                                               |                     +0.29% 
url/url-searchparams-read.js n=20000000 param='two' accessMethod='has'                                                                              β–‘|                     +0.04% 
url/url-searchparams-read.js n=20000000 param='three' accessMethod='has'                                                                            β–‘|                     -0.98% 
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='has'                                                                       |                     -0.26% 
url/url-searchparams-sort-scaling.js order='sorted' size=49 n=10000                                                                               β–‘β–‘β–‘|β–‘β–‘                   -0.99% 
url/url-searchparams-sort-scaling.js order='reversed' size=49 n=10000                                                                                |                     +0.02% 
url/url-searchparams-sort-scaling.js order='shuffled' size=49 n=10000                                                                               β–‘|                     +1.02% 
url/url-searchparams-sort-scaling.js order='duplicates' size=49 n=10000                                                                             β–“|                     -1.82% 
url/url-searchparams-sort-scaling.js order='sorted' size=50 n=10000                                                                                β–‘β–“|                     -1.65% 
url/url-searchparams-sort-scaling.js order='reversed' size=50 n=10000                                                                                |β–‘                    +2.71% 
url/url-searchparams-sort-scaling.js order='shuffled' size=50 n=10000                                                                               β–‘|                     -0.47% 
url/url-searchparams-sort-scaling.js order='duplicates' size=50 n=10000                                                                             β–‘|                     -0.46% 
url/url-searchparams-sort-scaling.js order='sorted' size=65 n=10000                                                                                  |β–‘β–‘                   +4.01% *
url/url-searchparams-sort-scaling.js order='reversed' size=65 n=10000                                                                               β–‘|                     +0.52% 
url/url-searchparams-sort-scaling.js order='shuffled' size=65 n=10000                                                                               β–“|                     -1.44% 
url/url-searchparams-sort-scaling.js order='duplicates' size=65 n=10000                                                                              |                     +0.92% 
url/url-searchparams-sort-scaling.js order='sorted' size=256 n=10000                                                                                 |                     -0.23% 
url/url-searchparams-sort-scaling.js order='reversed' size=256 n=10000                                                                               |                     -0.00% 
url/url-searchparams-sort-scaling.js order='shuffled' size=256 n=10000                                                                               |                     +0.22% 
url/url-searchparams-sort-scaling.js order='duplicates' size=256 n=10000                                                                             |                     +0.23% 
url/url-searchparams-sort-scaling.js order='sorted' size=1024 n=10000                                                                                |                     +0.05% 
url/url-searchparams-sort-scaling.js order='reversed' size=1024 n=10000                                                                              |                     +0.03% 
url/url-searchparams-sort-scaling.js order='shuffled' size=1024 n=10000                                                                              |                     -0.07% 
url/url-searchparams-sort-scaling.js order='duplicates' size=1024 n=10000                                                                            |                     -0.14% 
url/url-searchparams-sort.js n=1000000 type='wpt'                                                                                                   β–‘|β–‘                    +1.74% 
url/url-searchparams-sort.js n=1000000 type='empty'                                                                                                β–‘β–‘|                     -1.02% 
url/url-searchparams-sort.js n=1000000 type='sorted'                                                                                                β–‘|                     -0.14% 
url/url-searchparams-sort.js n=1000000 type='almostsorted'                                                                                          β–‘|                     -1.01% 
url/url-searchparams-sort.js n=1000000 type='reversed'                                                                                               |                     +0.56% *
url/url-searchparams-sort.js n=1000000 type='random'                                                                                                 |                     +0.22% 
url/url-searchparams-sort.js n=1000000 type='short'                                                                                                 β–‘|                     -0.48% 
url/url-searchparams-sort.js n=1000000 type='long'                                                                                                   |                     +0.01% 
url/url-searchparams-toString.js n=1000000 inputType='string' type='noencode'                                                                       β–‘|                     -0.42% 
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='noencode'                                                                      |                     +0.81% 
url/url-searchparams-toString.js n=1000000 inputType='object' type='noencode'                                                                        |                     +1.51% 
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodemany'                                                                     β–‘|                     +0.72% 
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodemany'                                                                   β–‘|                     +0.38% 
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodemany'                                                                      |β–‘                    +2.60% *
url/url-searchparams-toString.js n=1000000 inputType='string' type='encodelast'                                                                     β–‘|                     -0.30% 
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='encodelast'                                                                   β–‘|                     +0.60% 
url/url-searchparams-toString.js n=1000000 inputType='object' type='encodelast'                                                                      |                     +1.13% 
url/url-searchparams-toString.js n=1000000 inputType='string' type='array'                                                                           |                     +1.66% 
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='array'                                                                         |                     +0.59% 
url/url-searchparams-toString.js n=1000000 inputType='object' type='array'                                                                          β–‘|                     -0.52% 
url/url-searchparams-toString.js n=1000000 inputType='string' type='multiprimitives'                                                                β–‘|                     +0.98% 
url/url-searchparams-toString.js n=1000000 inputType='iterable' type='multiprimitives'                                                              β–‘|β–‘β–‘                   +3.05% 
url/url-searchparams-toString.js n=1000000 inputType='object' type='multiprimitives'                                                                 |β–‘                    +1.71% 
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='true'                                                                     |                     +0.25% 
url/url-searchparams-update.js n=1000000 property='search' searchParams='true'                                                                       |                     -0.35% 
url/url-searchparams-update.js n=1000000 property='hash' searchParams='true'                                                                         |                     +0.65% 
url/url-searchparams-update.js n=1000000 property='pathname' searchParams='false'                                                                    |                     +0.06% 
url/url-searchparams-update.js n=1000000 property='search' searchParams='false'                                                                     β–‘|                     -0.70% 
url/url-searchparams-update.js n=1000000 property='hash' searchParams='false'                                                                       β–ˆ|                     -1.97% **
url/urlpattern-parse.js n=100000 pattern='"https://(sub.)?example(.com/)foo"'                                                                        |                     -0.01% 
url/urlpattern-parse.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                            |                     -0.26% 
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}'                      |                     -0.20% 
url/urlpattern-parse.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                                             β–‘|                     -0.71% *
url/urlpattern-test.js n=100000 pattern='"https://(sub.)?example(.com/)foo"'                                                                        β–‘|                     -0.64% 
url/urlpattern-test.js n=100000 pattern='{"hostname":"xn--caf-dma.com"}'                                                                           β–‘β–‘|                     -1.37% 
url/urlpattern-test.js n=100000 pattern='{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}'                      β–‘|β–‘                    +1.65% 
url/urlpattern-test.js n=100000 pattern='{"pathname":"/([[a-z]--a])"}'                                                                              β–‘|β–‘                    +1.64% 
url/whatwg-url-canParse.js n=1000000 type='long'                                                                                                    β–“|                     -1.39% 
url/whatwg-url-canParse.js n=1000000 type='short'                                                                                                  β–‘β–“|                     -2.37% 
url/whatwg-url-canParse.js n=1000000 type='idn'                                                                                                      |                     -0.10% 
url/whatwg-url-canParse.js n=1000000 type='auth'                                                                                                    β–‘|                     -0.43% 
url/whatwg-url-canParse.js n=1000000 type='file'                                                                                                    β–“|                     -1.45% 
url/whatwg-url-canParse.js n=1000000 type='ws'                                                                                                      β–“|                     -1.64% 
url/whatwg-url-canParse.js n=1000000 type='javascript'                                                                                              β–‘|                     +0.53% 
url/whatwg-url-canParse.js n=1000000 type='percent'                                                                                                  |                     -0.39% 
url/whatwg-url-canParse.js n=1000000 type='dot'                                                                                                     β–‘|β–‘                    +0.93% 
url/whatwg-url-get-prop.js e=1 type='long'                                                                                                          β–‘|                     -0.91% 
url/whatwg-url-get-prop.js e=1 type='short'                                                                                                         β–‘|                     -1.10% 
url/whatwg-url-get-prop.js e=1 type='idn'                                                                                                            |β–ˆβ–ˆβ–‘β–‘β–‘                +9.16% **
url/whatwg-url-get-prop.js e=1 type='auth'                                                                                                        β–‘β–‘β–“|β–‘                    -2.15% 
url/whatwg-url-get-prop.js e=1 type='file'                                                                                                          β–‘|                     +0.48% 
url/whatwg-url-get-prop.js e=1 type='ws'                                                                                                            β–‘|                     +0.54% 
url/whatwg-url-get-prop.js e=1 type='javascript'                                                                                                    β–‘|β–‘                    +1.18% 
url/whatwg-url-get-prop.js e=1 type='percent'                                                                                                       β–‘|β–‘β–‘β–‘                  +3.98% 
url/whatwg-url-get-prop.js e=1 type='dot'                                                                                                           β–‘|                     -0.13% 
url/whatwg-url-get-prop.js e=1 type='wpt'                                                                                                        β–‘β–‘β–‘β–“|                     -3.11% 
url/whatwg-url-idna.js n=5000000 to='ascii' domain='empty'                                                                                           |                     +0.98% 
url/whatwg-url-idna.js n=5000000 to='unicode' domain='empty'                                                                                        β–‘|                     -1.08% 
url/whatwg-url-idna.js n=5000000 to='ascii' domain='none'                                                                                            |                     +0.09% 
url/whatwg-url-idna.js n=5000000 to='unicode' domain='none'                                                                                          |                     -0.02% 
url/whatwg-url-idna.js n=5000000 to='ascii' domain='some'                                                                                            |                     -0.00% 
url/whatwg-url-idna.js n=5000000 to='unicode' domain='some'                                                                                          |                     -0.12% 
url/whatwg-url-idna.js n=5000000 to='ascii' domain='all'                                                                                             |                     +0.24% 
url/whatwg-url-idna.js n=5000000 to='unicode' domain='all'                                                                                           |                     -0.04% 
url/whatwg-url-idna.js n=5000000 to='ascii' domain='nonstring'                                                                                       |                     +0.96% 
url/whatwg-url-idna.js n=5000000 to='unicode' domain='nonstring'                                                                                    β–‘|                     -0.41% 
url/whatwg-url-parse.js e=1 type='long' withBase='true'                                                                                            β–‘β–ˆ|                     -3.09% *
url/whatwg-url-parse.js e=1 type='short' withBase='true'                                                                                            β–‘|β–‘                    +1.53% 
url/whatwg-url-parse.js e=1 type='idn' withBase='true'                                                                                             β–‘β–‘|                     -0.66% 
url/whatwg-url-parse.js e=1 type='auth' withBase='true'                                                                                             β–‘|                     +0.12% 
url/whatwg-url-parse.js e=1 type='file' withBase='true'                                                                                            β–‘β–“|                     -1.44% 
url/whatwg-url-parse.js e=1 type='ws' withBase='true'                                                                                             β–‘β–ˆβ–ˆ|                     -4.54% ***
url/whatwg-url-parse.js e=1 type='javascript' withBase='true'                                                                                       β–‘|                     -0.11% 
url/whatwg-url-parse.js e=1 type='percent' withBase='true'                                                                                         β–‘β–‘|β–‘                    -0.11% 
url/whatwg-url-parse.js e=1 type='dot' withBase='true'                                                                                             β–‘β–“|                     -2.25% 
url/whatwg-url-parse.js e=1 type='wpt' withBase='true'                                                                                        β–‘β–‘β–‘β–‘β–ˆβ–ˆβ–ˆ|                     -9.18% *
url/whatwg-url-parse.js e=1 type='long' withBase='false'                                                                                            β–‘|β–‘                    +0.95% 
url/whatwg-url-parse.js e=1 type='short' withBase='false'                                                                                           β–‘|                     +0.01% 
url/whatwg-url-parse.js e=1 type='idn' withBase='false'                                                                                            β–‘β–“|                     -1.96% 
url/whatwg-url-parse.js e=1 type='auth' withBase='false'                                                                                           β–‘β–“|                     -1.62% 
url/whatwg-url-parse.js e=1 type='file' withBase='false'                                                                                            β–‘|                     +0.63% 
url/whatwg-url-parse.js e=1 type='ws' withBase='false'                                                                                              β–‘|β–‘                    +0.89% 
url/whatwg-url-parse.js e=1 type='javascript' withBase='false'                                                                                      β–‘|                     -0.22% 
url/whatwg-url-parse.js e=1 type='percent' withBase='false'                                                                                         β–‘|β–‘β–‘                   +2.53% 
url/whatwg-url-parse.js e=1 type='dot' withBase='false'                                                                                             β–‘|β–‘                    +1.11% 
url/whatwg-url-parse.js e=1 type='wpt' withBase='false'                                                                                         β–‘β–‘β–‘β–‘β–‘|β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  +20.52% 
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='true'                                                                             β–‘|β–“β–“β–‘β–‘β–‘β–‘               +8.11% 
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='true'                                                                        β–‘β–‘β–‘β–‘|β–‘β–‘β–‘                  -0.24% 
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='true'                                                                       β–‘β–‘β–‘|β–‘β–‘β–‘β–‘                 +3.04% 
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='true'                                                                   β–‘β–‘β–‘β–“β–“β–“β–“|                     -9.80% 
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='true'                                                                       β–‘β–‘β–‘|β–‘β–‘β–‘β–‘                 +1.95% 
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='true'                                                                            β–‘β–‘|β–“β–“β–‘β–‘β–‘β–‘               +7.13% 
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='true'                                                                       β–‘β–‘β–‘|β–‘β–‘β–‘β–‘β–‘                +2.87% 
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='true'                                                                       β–‘β–‘β–‘β–‘β–“β–“β–“|                     -8.30% 
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='true'                                                                    β–‘β–‘β–‘β–‘β–“β–“|β–‘                    -5.48% 
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='true'                                                                         β–‘β–‘β–‘|β–“β–‘β–‘β–‘β–‘                +4.80% 
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='true'                                                               β–‘β–‘β–‘β–‘β–“β–“β–“|                     -8.18% 
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='true'                                                                         β–‘β–‘β–‘β–‘β–“|β–‘β–‘                   -1.98% 
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='false'                                                                       β–‘β–‘β–‘β–‘β–“β–“|β–‘                    -6.06% 
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='false'                                                                      β–‘β–‘β–‘β–‘β–“|β–‘β–‘β–‘                  -1.72% 
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='false'                                                                     β–‘β–‘β–‘β–“|                     -3.81% 
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='false'                                                                      β–‘β–‘β–‘|β–‘β–‘β–‘                  +1.68% 
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='false'                                                                   β–‘β–‘β–‘β–“β–“β–“|                     -7.52% 
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='false'                                                                         β–‘β–‘β–‘β–“|β–‘                    -1.92% 
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='false'                                                                     β–‘β–‘β–‘β–“|β–‘                    -2.31% 
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='false'                                                                         β–‘β–‘β–‘β–“|β–‘β–‘                   -1.80% 
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='false'                                                                       β–‘β–‘|β–‘β–‘β–‘                  +2.60% 
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='false'                                                                        β–‘β–‘β–‘|β–‘β–‘β–‘                  +2.22% 
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='false'                                                                  β–‘β–‘β–‘|β–‘β–‘                   -0.05% 
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='false'                                                                        β–‘β–‘β–‘β–“β–“|                     -6.17% 
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null' method='pathToFileURL'                                                                |                     +0.30% 
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool' method='pathToFileURL'                                                β–‘|                     -0.72% 
url/whatwg-url-to-and-from-path.js n=5000000 input='/dev/null?key=param&bool#hash' method='pathToFileURL'                                            |                     -0.31% 
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='pathToFileURL'                                                         |                     -0.12% 
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='pathToFileURL'                                          |                     -0.26% 
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='pathToFileURL'                                     |                     -0.00% 
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null' method='fileURLToPath'                                                         |                     -0.06% 
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool' method='fileURLToPath'                                         β–‘|                     -0.81% *
url/whatwg-url-to-and-from-path.js n=5000000 input='file:///dev/null?key=param&bool#hash' method='fileURLToPath'                                     |                     +0.20% 
url/whatwg-url-validity.js e=100000 type='valid'                                                                                                   β–‘β–‘|β–‘β–‘β–‘                  +2.57% 
url/whatwg-url-validity.js e=100000 type='invalid'                                                                                                   |                     +0.23% 

Rates were scaled by 1000x into HdrHistogram (3 significant figures).
Use --scale to adjust precision if needed.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-benchmark-ci PRs that need a benchmark CI run. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants