Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

url: fix definitions of URL/SearchParams methods and accessors #36799

Merged

Conversation

ExE-Boss
Copy link
Contributor

@ExE-Boss ExE-Boss commented Jan 5, 2021

This ensures that:

Object.getOwnPropertyDescriptor(URL.prototype, 'href').get.name === "get name";

and that:

Object.prototype.hasOwnProperty.call(URL.prototype.toString, "prototype") === false;

The changes to URLSearchParams were done to fix the [[HomeObject]] internal slot so that it points to the URLSearchParams.prototype object, rather than the object that’s passed to defineIDLClass.


Best reviewed with the “Hide whitespace changes” flag enabled: #36799?w=1

@aduh95
Copy link
Contributor

aduh95 commented Jan 5, 2021

Would you kindly split this into several commits to help with code review please? GitHub UI isn't really helping to follow the moving parts here 😅

lib/internal/url.js Outdated Show resolved Hide resolved
@ExE-Boss ExE-Boss force-pushed the lib/url/fix-method-accessor-definitions branch 2 times, most recently from 076b097 to 335ae15 Compare January 6, 2021 11:26
@PoojaDurgad PoojaDurgad added the request-ci Add this label to start a Jenkins CI on a PR. label Jan 13, 2021
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@aduh95 aduh95 removed the request-ci Add this label to start a Jenkins CI on a PR. label Jan 13, 2021
@aduh95
Copy link
Contributor

aduh95 commented Jan 18, 2021

@ExE-Boss This needs a rebase. If you have the time to split it into several commits (E.G.: one for URLSearchParams and another one for URL), that'd be nice.

@ExE-Boss
Copy link
Contributor Author

ExE-Boss commented Jan 19, 2021

@aduh95 I have split this into a move (0a49b9e) and edit (609a6eb?w=1) commit.

@ExE-Boss ExE-Boss force-pushed the lib/url/fix-method-accessor-definitions branch from 335ae15 to 23386ce Compare January 19, 2021 02:28
@aduh95
Copy link
Contributor

aduh95 commented Jan 19, 2021

Nit: upstreaming the tests to the wpt repo, so other implementers can use them, would be ideal.

@ExE-Boss ExE-Boss requested a review from Flarna January 24, 2021 07:04
@Flarna Flarna added whatwg-url Issues and PRs related to the WHATWG URL implementation. review wanted PRs that need reviews. labels Jan 25, 2021
@aduh95
Copy link
Contributor

aduh95 commented Feb 8, 2021

@aduh95
Copy link
Contributor

aduh95 commented Feb 9, 2021

@ExE-Boss this needs a rebase.

@ExE-Boss ExE-Boss force-pushed the lib/url/fix-method-accessor-definitions branch from 23386ce to 609a6eb Compare February 9, 2021 03:19
@nodejs-github-bot
Copy link
Collaborator

@aduh95
Copy link
Contributor

aduh95 commented Feb 9, 2021

There are some major perf improvements and also a few regressions for the legacy API for some reason:

                                                                                                         confidence improvement accuracy (*)    (**)   (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot'                                              ***     27.55 %       ±8.58% ±11.43% ±14.89%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file'                                               *      8.62 %       ±8.49% ±11.29% ±14.70%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn'                                              ***     15.87 %       ±8.52% ±11.34% ±14.77%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent'                                           **     11.88 %       ±6.88%  ±9.15% ±11.92%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='short'                                            ***     17.15 %       ±8.27% ±11.00% ±14.32%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='false'                                *      7.52 %       ±7.07%  ±9.42% ±12.29%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodefake'                  *      2.29 %       ±2.23%  ±2.98%  ±3.91%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth'                                            ***    -14.59 %       ±6.53%  ±8.70% ±11.35%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='some'                                                          *      4.16 %       ±3.78%  ±5.06%  ±6.64%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='false'                                       *     -7.68 %       ±6.31%  ±8.39% ±10.92%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true'                                        *      6.17 %       ±5.91%  ±7.90% ±10.34%

WHATWG results look OK, I'm going to spawn another benchmark CI to see if the perf change on legacy API were just a flakiness.

Full benchmark results
                                                                                                         confidence improvement accuracy (*)    (**)   (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='auth'                                                     -1.30 %       ±6.87%  ±9.14% ±11.91%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot'                                              ***     27.55 %       ±8.58% ±11.43% ±14.89%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file'                                               *      8.62 %       ±8.49% ±11.29% ±14.70%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn'                                              ***     15.87 %       ±8.52% ±11.34% ±14.77%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='javascript'                                               -0.35 %       ±6.76%  ±9.00% ±11.72%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='long'                                                      1.40 %      ±10.27% ±13.67% ±17.79%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent'                                           **     11.88 %       ±6.88%  ±9.15% ±11.92%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='short'                                            ***     17.15 %       ±8.27% ±11.00% ±14.32%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='wpt'                                                       1.45 %       ±9.59% ±12.76% ±16.63%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='ws'                                                       -7.72 %       ±8.30% ±11.05% ±14.38%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='auth'                                                      1.69 %       ±6.99%  ±9.31% ±12.13%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='dot'                                                      -3.91 %       ±6.41%  ±8.53% ±11.10%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='file'                                                     -4.77 %       ±8.79% ±11.71% ±15.28%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='idn'                                                       0.01 %       ±6.54%  ±8.71% ±11.34%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='javascript'                                                1.61 %       ±7.89% ±10.49% ±13.66%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='long'                                                      4.67 %       ±9.23% ±12.31% ±16.06%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='percent'                                                   1.69 %       ±7.07%  ±9.41% ±12.24%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='short'                                                    -7.02 %      ±11.15% ±14.90% ±19.53%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='wpt'                                                      -0.32 %       ±8.12% ±10.81% ±14.08%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='ws'                                                       -7.57 %      ±11.21% ±15.03% ±19.80%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='false'                                        3.17 %       ±4.01%  ±5.33%  ±6.94%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='true'                                         2.58 %       ±5.84%  ±7.77% ±10.12%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='false'                                         3.32 %       ±7.14%  ±9.52% ±12.43%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='true'                                          0.60 %       ±4.53%  ±6.02%  ±7.84%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='false'                                        5.79 %       ±7.68% ±10.27% ±13.47%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='true'                                        -0.54 %       ±5.77%  ±7.68% ±10.00%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='false'                                         1.05 %       ±6.13%  ±8.16% ±10.64%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='true'                                          1.89 %       ±4.51%  ±6.01%  ±7.83%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='false'                                 -0.46 %       ±6.48%  ±8.62% ±11.23%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='true'                                  -2.37 %       ±7.43%  ±9.89% ±12.87%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='false'                                        3.74 %       ±3.84%  ±5.12%  ±6.69%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='true'                                         4.61 %       ±4.97%  ±6.64%  ±8.72%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='false'                                     0.21 %       ±6.58%  ±8.79% ±11.52%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='true'                                      2.13 %       ±5.79%  ±7.72% ±10.08%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='false'                                       0.63 %       ±5.62%  ±7.49%  ±9.75%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='true'                                        0.16 %       ±5.60%  ±7.47%  ±9.75%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='false'                                        -0.17 %       ±5.76%  ±7.66%  ±9.97%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='true'                                          2.14 %       ±4.99%  ±6.64%  ±8.66%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='false'                                          0.86 %       ±6.11%  ±8.13% ±10.58%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='true'                                           1.38 %       ±5.18%  ±6.91%  ±9.04%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='false'                                        5.14 %       ±6.76%  ±9.00% ±11.71%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='true'                                         0.09 %       ±6.30%  ±8.38% ±10.91%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='false'                                         0.19 %       ±8.41% ±11.19% ±14.58%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='true'                                          3.01 %       ±6.55%  ±8.73% ±11.39%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='false'                                        5.20 %       ±7.50% ±10.02% ±13.14%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='true'                                         1.69 %       ±5.39%  ±7.17%  ±9.33%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='false'                                         5.78 %       ±6.41%  ±8.54% ±11.16%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='true'                                         -0.76 %       ±5.94%  ±7.91% ±10.29%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='false'                                  3.47 %       ±6.85%  ±9.12% ±11.89%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='true'                                   0.26 %       ±4.78%  ±6.35%  ±8.27%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='false'                                        0.78 %       ±4.62%  ±6.15%  ±8.00%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='true'                                         3.12 %       ±3.54%  ±4.71%  ±6.13%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='false'                                     0.67 %       ±7.91% ±10.56% ±13.81%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='true'                                      4.05 %       ±6.03%  ±8.03% ±10.46%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='false'                                *      7.52 %       ±7.07%  ±9.42% ±12.29%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='true'                                        3.17 %       ±4.91%  ±6.54%  ±8.53%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='false'                                         5.23 %       ±5.92%  ±7.92% ±10.39%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='true'                                          4.80 %       ±5.93%  ±7.92% ±10.36%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='false'                                          4.17 %       ±6.60%  ±8.78% ±11.42%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='true'                                          -0.00 %       ±6.05%  ±8.06% ±10.51%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='altspaces'                         -1.54 %       ±2.82%  ±3.77%  ±4.95%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodefake'                  *      2.29 %       ±2.23%  ±2.98%  ±3.91%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodelast'                         0.91 %       ±5.06%  ±6.74%  ±8.77%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodemany'                        -0.82 %       ±1.75%  ±2.33%  ±3.04%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manyblankpairs'                     2.37 %       ±5.74%  ±7.67% ±10.03%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manypairs'                          0.55 %       ±1.52%  ±2.03%  ±2.67%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multicharsep'                      -3.88 %       ±4.12%  ±5.54%  ±7.33%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivalue'                        -2.02 %       ±2.99%  ±3.98%  ±5.18%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivaluemany'                     0.46 %       ±1.26%  ±1.68%  ±2.18%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='noencode'                          -1.97 %       ±5.15%  ±6.85%  ±8.93%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='altspaces'                          1.42 %       ±3.23%  ±4.30%  ±5.60%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodefake'                         1.35 %       ±2.96%  ±3.98%  ±5.27%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodelast'                         2.45 %       ±4.45%  ±5.95%  ±7.79%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodemany'                         3.27 %       ±4.51%  ±6.00%  ±7.81%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manyblankpairs'                     0.45 %       ±2.47%  ±3.29%  ±4.29%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manypairs'                         -0.25 %       ±3.69%  ±4.92%  ±6.41%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multicharsep'                       0.13 %       ±0.82%  ±1.09%  ±1.43%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivalue'                         1.01 %       ±3.78%  ±5.08%  ±6.73%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivaluemany'                    -0.67 %       ±3.13%  ±4.17%  ±5.43%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='noencode'                          -3.67 %       ±7.92% ±10.56% ±13.79%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='altspaces'                      0.12 %       ±1.71%  ±2.28%  ±2.96%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodefake'                     0.40 %       ±1.13%  ±1.50%  ±1.95%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodelast'                     1.15 %       ±3.18%  ±4.23%  ±5.51%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodemany'                     0.49 %       ±2.24%  ±2.98%  ±3.89%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manyblankpairs'                -4.49 %       ±8.03% ±10.78% ±14.20%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manypairs'                     -0.87 %       ±2.20%  ±2.93%  ±3.82%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multicharsep'                  -0.03 %       ±1.77%  ±2.36%  ±3.08%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivalue'                     0.93 %       ±1.53%  ±2.03%  ±2.64%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivaluemany'                 1.07 %       ±2.69%  ±3.58%  ±4.67%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='noencode'                       1.15 %       ±3.38%  ±4.51%  ±5.90%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='altspaces'                     -0.24 %       ±6.58%  ±8.77% ±11.43%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodefake'                    -4.04 %       ±5.13%  ±6.90%  ±9.13%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodelast'                     2.87 %       ±5.17%  ±6.96%  ±9.22%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodemany'                    -0.98 %       ±4.09%  ±5.50%  ±7.27%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manyblankpairs'                 0.83 %      ±12.64% ±16.81% ±21.88%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manypairs'                     -0.94 %       ±2.33%  ±3.13%  ±4.13%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multicharsep'                  -0.52 %       ±4.36%  ±5.87%  ±7.79%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivalue'                     1.52 %       ±3.84%  ±5.17%  ±6.85%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivaluemany'                -2.06 %       ±3.59%  ±4.83%  ±6.39%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='noencode'                       0.08 %       ±1.09%  ±1.45%  ±1.89%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth'                                            ***    -14.59 %       ±6.53%  ±8.70% ±11.35%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='dot'                                                     -7.80 %      ±10.88% ±14.58% ±19.19%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='file'                                                    -5.65 %      ±10.82% ±14.51% ±19.12%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='idn'                                                      0.98 %       ±7.23%  ±9.62% ±12.53%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='javascript'                                               0.37 %       ±5.55%  ±7.39%  ±9.64%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='long'                                                     9.43 %      ±11.68% ±15.70% ±20.75%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='percent'                                                 -7.60 %       ±9.36% ±12.54% ±16.50%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='short'                                                   -5.36 %       ±5.85%  ±7.79% ±10.15%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='wpt'                                                     -8.83 %      ±10.36% ±13.91% ±18.36%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='ws'                                                      -6.36 %      ±11.12% ±14.91% ±19.63%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='auth'                                                    -2.67 %      ±10.91% ±14.63% ±19.27%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='dot'                                                     -6.72 %      ±10.37% ±13.92% ±18.35%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='file'                                                    -1.98 %      ±12.09% ±16.20% ±21.31%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='idn'                                                     -0.58 %       ±8.17% ±10.87% ±14.14%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='javascript'                                              -2.09 %       ±6.09%  ±8.14% ±10.66%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='long'                                                    11.55 %      ±11.91% ±16.00% ±21.16%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='percent'                                                 -8.76 %       ±9.96% ±13.38% ±17.68%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='short'                                                    1.43 %       ±7.88% ±10.49% ±13.66%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='wpt'                                                      0.03 %       ±6.01%  ±8.01% ±10.45%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='ws'                                                      -3.90 %      ±10.74% ±14.41% ±19.02%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='all'                                                                 -0.17 %       ±2.38%  ±3.16%  ±4.12%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='empty'                                                               -2.58 %       ±6.00%  ±8.00% ±10.44%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='none'                                                                -0.82 %       ±1.53%  ±2.03%  ±2.64%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='nonstring'                                                            1.42 %       ±2.99%  ±4.01%  ±5.28%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='some'                                                          *      4.16 %       ±3.78%  ±5.06%  ±6.64%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='all'                                                                0.70 %       ±1.51%  ±2.00%  ±2.61%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='empty'                                                             -0.96 %       ±4.93%  ±6.62%  ±8.74%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='none'                                                               0.66 %       ±1.99%  ±2.65%  ±3.44%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='nonstring'                                                         -0.71 %       ±5.37%  ±7.14%  ±9.30%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='some'                                                               2.18 %       ±2.39%  ±3.20%  ±4.20%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='false'                                                 -2.55 %       ±5.79%  ±7.71% ±10.03%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='true'                                                  -1.05 %       ±6.93%  ±9.22% ±12.01%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='false'                                                  4.19 %       ±6.59%  ±8.77% ±11.42%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='true'                                                  -4.30 %       ±6.44%  ±8.61% ±11.29%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='false'                                              0.99 %       ±7.14%  ±9.51% ±12.40%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='true'                                               1.15 %       ±5.00%  ±6.65%  ±8.65%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='false'                                                  0.63 %      ±10.54% ±14.04% ±18.31%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='true'                                                  -2.19 %       ±6.28%  ±8.36% ±10.88%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='false'                                                2.98 %       ±5.58%  ±7.45%  ±9.73%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='true'                                                 6.35 %       ±6.61%  ±8.82% ±11.52%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='false'                                       *     -7.68 %       ±6.31%  ±8.39% ±10.92%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true'                                        *      6.17 %       ±5.91%  ±7.90% ±10.34%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='false'                                              4.08 %       ±6.55%  ±8.71% ±11.35%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='true'                                               4.44 %       ±6.12%  ±8.15% ±10.63%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='false'                                                 -1.39 %       ±5.35%  ±7.12%  ±9.28%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='true'                                                  -4.74 %       ±7.03%  ±9.40% ±12.31%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='false'                                             -0.53 %       ±6.38%  ±8.49% ±11.06%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='true'                                              -1.52 %       ±3.99%  ±5.30%  ±6.91%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='false'                                                4.47 %       ±7.74% ±10.35% ±13.57%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='true'                                                -1.51 %       ±6.99%  ±9.31% ±12.12%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='false'                                         -3.27 %       ±6.62%  ±8.81% ±11.46%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='true'                                          -2.95 %       ±4.96%  ±6.61%  ±8.61%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='false'                                             -0.30 %       ±5.53%  ±7.36%  ±9.58%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='true'                                              -0.44 %       ±7.24%  ±9.64% ±12.55%

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

@aduh95
Copy link
Contributor

aduh95 commented Feb 9, 2021

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

EDIT: it got similar results 🤷‍♂️

                                                                                                         confidence improvement accuracy (*)    (**)   (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot'                                               **     10.04 %       ±5.83%  ±7.77% ±10.11%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file'                                             ***     16.91 %       ±8.60% ±11.44% ±14.88%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn'                                              ***     12.16 %       ±4.88%  ±6.50%  ±8.46%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent'                                          ***     13.43 %       ±7.62% ±10.13% ±13.19%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='short'                                              *     -6.24 %       ±6.04%  ±8.06% ±10.56%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='false'                           *      6.25 %       ±6.24%  ±8.32% ±10.85%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='false'                                **     10.62 %       ±7.32%  ±9.78% ±12.81%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='false'                             **      8.04 %       ±5.92%  ±7.91% ±10.37%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='true'                               *      6.58 %       ±5.11%  ±6.81%  ±8.88%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth'                                             **    -11.00 %       ±7.64% ±10.16% ±13.23%
url/url-resolve.jsn=100000 path='foo/bar' href='long'                                                             *     -4.48 %       ±4.45%  ±5.93%  ±7.74%
url/url-resolve.jsn=100000 path='up' href='file'                                                                  *     -5.01 %       ±4.89%  ±6.52%  ±8.49%
url/url-resolve.jsn=100000 path='up' href='idn'                                                                   *     -4.81 %       ±4.12%  ±5.51%  ±7.21%
url/url-resolve.jsn=100000 path='up' href='percent'                                                              **      7.46 %       ±4.85%  ±6.48%  ±8.51%
url/url-searchparams-sort.jsn=1000000 type='sorted'                                                               *      1.00 %       ±0.91%  ±1.21%  ±1.58%
url/usvstring.jsn=50000000 input='valid'                                                                          *     -2.23 %       ±1.81%  ±2.41%  ±3.17%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='false'                                           *     -7.14 %       ±6.03%  ±8.04% ±10.49%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true'                                        *     -5.80 %       ±4.63%  ±6.18%  ±8.08%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='false'                                       *     -7.58 %       ±6.62%  ±8.84% ±11.58%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='true'                                        *     -6.39 %       ±5.68%  ±7.56%  ±9.86%
                                                                                                         confidence improvement accuracy (*)    (**)   (***)
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='auth'                                                     -3.82 %       ±7.80% ±10.38% ±13.52%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='dot'                                               **     10.04 %       ±5.83%  ±7.77% ±10.11%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='file'                                             ***     16.91 %       ±8.60% ±11.44% ±14.88%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='idn'                                              ***     12.16 %       ±4.88%  ±6.50%  ±8.46%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='javascript'                                               -3.99 %       ±5.87%  ±7.81% ±10.18%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='long'                                                      0.39 %       ±8.17% ±10.87% ±14.15%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='percent'                                          ***     13.43 %       ±7.62% ±10.13% ±13.19%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='short'                                                     5.57 %       ±6.63%  ±8.82% ±11.49%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='wpt'                                                      -2.61 %       ±6.77%  ±9.02% ±11.76%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='legacy' type='ws'                                                        1.57 %       ±7.95% ±10.58% ±13.78%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='auth'                                                     -1.31 %       ±5.19%  ±6.90%  ±8.98%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='dot'                                                      -2.50 %       ±6.32%  ±8.42% ±10.97%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='file'                                                      3.60 %       ±6.13%  ±8.17% ±10.67%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='idn'                                                      -1.23 %       ±4.74%  ±6.30%  ±8.21%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='javascript'                                                0.77 %       ±6.13%  ±8.19% ±10.72%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='long'                                                     -1.55 %       ±5.84%  ±7.77% ±10.11%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='percent'                                                   2.70 %       ±5.91%  ±7.87% ±10.27%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='short'                                              *     -6.24 %       ±6.04%  ±8.06% ±10.56%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='wpt'                                                      -1.21 %       ±6.94%  ±9.24% ±12.04%
url/legacy-vs-whatwg-url-get-prop.jse=1 method='whatwg' type='ws'                                                       -2.01 %       ±6.38%  ±8.50% ±11.06%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='false'                                        3.27 %       ±5.19%  ±6.93%  ±9.06%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='auth' withBase='true'                                        -2.35 %       ±5.22%  ±6.94%  ±9.04%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='false'                                         0.84 %       ±5.70%  ±7.60%  ±9.93%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='dot' withBase='true'                                         -0.23 %       ±7.49%  ±9.96% ±12.97%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='false'                                        1.68 %       ±7.71% ±10.27% ±13.37%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='file' withBase='true'                                         0.58 %       ±6.60%  ±8.79% ±11.48%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='false'                                         5.19 %       ±6.53%  ±8.73% ±11.43%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='idn' withBase='true'                                          0.14 %       ±6.39%  ±8.50% ±11.07%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='false'                           *      6.25 %       ±6.24%  ±8.32% ±10.85%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='javascript' withBase='true'                                   6.85 %       ±6.87%  ±9.19% ±12.06%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='false'                                       -0.67 %       ±2.99%  ±3.99%  ±5.22%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='long' withBase='true'                                         2.92 %       ±3.74%  ±4.99%  ±6.54%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='false'                                    -1.43 %       ±6.24%  ±8.31% ±10.81%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='percent' withBase='true'                                     -0.27 %       ±5.26%  ±7.01%  ±9.14%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='false'                                       4.27 %       ±4.68%  ±6.23%  ±8.11%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='short' withBase='true'                                        2.16 %       ±5.68%  ±7.57%  ±9.89%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='false'                                         3.15 %       ±6.11%  ±8.14% ±10.61%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='wpt' withBase='true'                                          3.49 %       ±4.84%  ±6.45%  ±8.40%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='false'                                         -1.12 %       ±4.54%  ±6.05%  ±7.89%
url/legacy-vs-whatwg-url-parse.jsmethod='legacy' e=1 type='ws' withBase='true'                                           1.14 %       ±5.65%  ±7.52%  ±9.79%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='false'                                **     10.62 %       ±7.32%  ±9.78% ±12.81%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='auth' withBase='true'                                         1.03 %       ±5.21%  ±6.94%  ±9.04%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='false'                                        -3.68 %       ±6.06%  ±8.06% ±10.49%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='dot' withBase='true'                                          2.21 %       ±5.69%  ±7.58%  ±9.87%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='false'                                        3.30 %       ±4.47%  ±5.96%  ±7.76%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='file' withBase='true'                                         0.22 %       ±5.80%  ±7.72% ±10.05%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='false'                                         5.10 %       ±5.12%  ±6.82%  ±8.87%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='idn' withBase='true'                                          4.05 %       ±5.02%  ±6.69%  ±8.71%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='false'                                 -0.88 %       ±6.01%  ±8.02% ±10.48%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='javascript' withBase='true'                                   2.96 %       ±6.42%  ±8.56% ±11.18%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='false'                                       -2.78 %       ±6.06%  ±8.06% ±10.49%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='long' withBase='true'                                         1.82 %       ±5.64%  ±7.51%  ±9.78%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='false'                             **      8.04 %       ±5.92%  ±7.91% ±10.37%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='percent' withBase='true'                               *      6.58 %       ±5.11%  ±6.81%  ±8.88%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='false'                                       3.81 %       ±7.22%  ±9.63% ±12.58%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='short' withBase='true'                                        1.42 %       ±3.77%  ±5.01%  ±6.53%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='false'                                        -4.21 %       ±4.35%  ±5.79%  ±7.53%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='wpt' withBase='true'                                          0.46 %       ±4.86%  ±6.47%  ±8.43%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='false'                                          4.56 %       ±7.90% ±10.51% ±13.69%
url/legacy-vs-whatwg-url-parse.jsmethod='whatwg' e=1 type='ws' withBase='true'                                          -0.65 %       ±5.95%  ±7.92% ±10.31%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='altspaces'                          3.53 %       ±3.64%  ±4.84%  ±6.31%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodefake'                         2.08 %       ±3.29%  ±4.38%  ±5.70%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodelast'                        -0.23 %       ±2.61%  ±3.47%  ±4.52%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='encodemany'                        -2.58 %       ±3.01%  ±4.03%  ±5.30%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manyblankpairs'                    -1.58 %       ±4.97%  ±6.67%  ±8.78%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='manypairs'                          0.71 %       ±1.74%  ±2.32%  ±3.04%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multicharsep'                       1.05 %       ±1.72%  ±2.29%  ±2.98%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivalue'                         2.64 %       ±3.07%  ±4.12%  ±5.44%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='multivaluemany'                     0.74 %       ±1.97%  ±2.62%  ±3.41%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='legacy' searchParam='noencode'                           2.99 %       ±3.20%  ±4.28%  ±5.62%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='altspaces'                         -2.14 %       ±3.21%  ±4.31%  ±5.68%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodefake'                        -1.87 %       ±6.79%  ±9.05% ±11.83%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodelast'                        -3.09 %       ±4.80%  ±6.46%  ±8.53%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='encodemany'                         2.76 %       ±5.05%  ±6.73%  ±8.77%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manyblankpairs'                     0.36 %       ±3.22%  ±4.29%  ±5.59%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='manypairs'                         -0.81 %       ±4.67%  ±6.22%  ±8.10%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multicharsep'                      -1.08 %       ±5.20%  ±6.97%  ±9.18%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivalue'                         1.32 %       ±6.02%  ±8.01% ±10.44%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='multivaluemany'                     2.82 %       ±3.80%  ±5.05%  ±6.58%
url/legacy-vs-whatwg-url-searchparams-parse.jsn=1000000 method='whatwg' searchParam='noencode'                           1.49 %       ±7.54% ±10.07% ±13.18%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='altspaces'                      2.10 %       ±2.88%  ±3.84%  ±5.02%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodefake'                    -0.40 %       ±1.48%  ±1.97%  ±2.56%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodelast'                     0.13 %       ±1.69%  ±2.26%  ±2.94%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='encodemany'                     2.60 %       ±5.97%  ±8.02% ±10.61%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manyblankpairs'                -0.07 %       ±3.62%  ±4.82%  ±6.27%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='manypairs'                     -0.88 %       ±1.81%  ±2.41%  ±3.14%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multicharsep'                   1.87 %       ±2.26%  ±3.03%  ±3.98%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivalue'                    -0.62 %       ±1.32%  ±1.76%  ±2.29%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='multivaluemany'                 1.17 %       ±2.97%  ±3.98%  ±5.22%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='legacy' searchParam='noencode'                      -1.55 %       ±5.88%  ±7.90% ±10.43%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='altspaces'                     -1.66 %       ±3.46%  ±4.64%  ±6.12%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodefake'                     2.74 %       ±4.79%  ±6.43%  ±8.50%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodelast'                     1.77 %       ±3.44%  ±4.63%  ±6.12%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='encodemany'                     0.89 %       ±4.39%  ±5.85%  ±7.63%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manyblankpairs'                -3.34 %       ±4.39%  ±5.85%  ±7.62%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='manypairs'                      1.05 %       ±1.83%  ±2.45%  ±3.23%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multicharsep'                   2.40 %       ±3.49%  ±4.65%  ±6.07%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivalue'                     0.55 %       ±4.05%  ±5.39%  ±7.01%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='multivaluemany'                -0.80 %       ±2.27%  ±3.04%  ±4.01%
url/legacy-vs-whatwg-url-searchparams-serialize.jsn=1000000 method='whatwg' searchParam='noencode'                      -2.28 %       ±3.67%  ±4.93%  ±6.52%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='auth'                                             **    -11.00 %       ±7.64% ±10.16% ±13.23%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='dot'                                                     -1.98 %       ±6.37%  ±8.47% ±11.04%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='file'                                                    -4.07 %      ±11.78% ±15.75% ±20.67%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='idn'                                                     -2.46 %      ±10.78% ±14.42% ±18.91%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='javascript'                                               4.36 %       ±7.47%  ±9.94% ±12.94%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='long'                                                     3.57 %       ±8.37% ±11.14% ±14.50%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='percent'                                                 -0.05 %       ±7.37%  ±9.82% ±12.81%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='short'                                                   -4.11 %       ±7.61% ±10.12% ±13.19%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='wpt'                                                      3.73 %       ±8.01% ±10.66% ±13.87%
url/legacy-vs-whatwg-url-serialize.jse=1 method='legacy' type='ws'                                                       0.96 %       ±7.20%  ±9.58% ±12.47%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='auth'                                                     1.63 %       ±6.64%  ±8.84% ±11.52%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='dot'                                                      1.36 %       ±6.65%  ±8.86% ±11.56%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='file'                                                     1.55 %       ±8.24% ±10.97% ±14.28%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='idn'                                                      3.14 %       ±8.14% ±10.83% ±14.09%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='javascript'                                               7.03 %       ±7.44%  ±9.92% ±12.94%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='long'                                                     1.51 %       ±6.52%  ±8.68% ±11.29%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='percent'                                                 -0.43 %       ±7.54% ±10.04% ±13.08%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='short'                                                   -2.21 %      ±10.71% ±14.30% ±18.74%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='wpt'                                                     -5.17 %       ±7.53% ±10.02% ±13.04%
url/legacy-vs-whatwg-url-serialize.jse=1 method='whatwg' type='ws'                                                       3.20 %       ±6.41%  ±8.55% ±11.15%
url/url-format.jsn=25000000 type='file'                                                                                  1.12 %       ±1.98%  ±2.65%  ±3.48%
url/url-format.jsn=25000000 type='slashes'                                                                               1.01 %       ±1.44%  ±1.93%  ±2.55%
url/url-parse.jsn=10000000 type='escaped'                                                                                0.67 %       ±2.48%  ±3.31%  ±4.30%
url/url-parse.jsn=10000000 type='normal'                                                                                -0.33 %       ±2.65%  ±3.53%  ±4.59%
url/url-resolve.jsn=100000 path='down' href='auth'                                                                       3.51 %       ±5.55%  ±7.42%  ±9.71%
url/url-resolve.jsn=100000 path='down' href='dot'                                                                        3.38 %       ±3.96%  ±5.27%  ±6.86%
url/url-resolve.jsn=100000 path='down' href='file'                                                                       0.42 %       ±2.42%  ±3.22%  ±4.19%
url/url-resolve.jsn=100000 path='down' href='idn'                                                                       -0.59 %       ±2.73%  ±3.63%  ±4.73%
url/url-resolve.jsn=100000 path='down' href='javascript'                                                                -0.25 %       ±3.56%  ±4.77%  ±6.29%
url/url-resolve.jsn=100000 path='down' href='long'                                                                       0.67 %       ±4.16%  ±5.54%  ±7.21%
url/url-resolve.jsn=100000 path='down' href='noscheme'                                                                   0.33 %       ±1.47%  ±1.96%  ±2.56%
url/url-resolve.jsn=100000 path='down' href='percent'                                                                    0.56 %       ±2.41%  ±3.22%  ±4.20%
url/url-resolve.jsn=100000 path='down' href='short'                                                                     -1.25 %       ±2.76%  ±3.67%  ±4.79%
url/url-resolve.jsn=100000 path='down' href='ws'                                                                        -1.25 %       ±2.61%  ±3.48%  ±4.53%
url/url-resolve.jsn=100000 path='foo/bar' href='auth'                                                                    0.55 %       ±4.50%  ±5.98%  ±7.79%
url/url-resolve.jsn=100000 path='foo/bar' href='dot'                                                                     0.82 %       ±5.14%  ±6.85%  ±8.92%
url/url-resolve.jsn=100000 path='foo/bar' href='file'                                                                    2.33 %       ±3.92%  ±5.23%  ±6.84%
url/url-resolve.jsn=100000 path='foo/bar' href='idn'                                                                     4.11 %       ±5.70%  ±7.66% ±10.12%
url/url-resolve.jsn=100000 path='foo/bar' href='javascript'                                                             -0.92 %       ±1.57%  ±2.11%  ±2.77%
url/url-resolve.jsn=100000 path='foo/bar' href='long'                                                             *     -4.48 %       ±4.45%  ±5.93%  ±7.74%
url/url-resolve.jsn=100000 path='foo/bar' href='noscheme'                                                                2.00 %       ±4.06%  ±5.42%  ±7.08%
url/url-resolve.jsn=100000 path='foo/bar' href='percent'                                                                -0.50 %       ±6.03%  ±8.03% ±10.47%
url/url-resolve.jsn=100000 path='foo/bar' href='short'                                                                  -0.89 %       ±3.82%  ±5.10%  ±6.67%
url/url-resolve.jsn=100000 path='foo/bar' href='ws'                                                                      3.12 %       ±5.68%  ±7.56%  ±9.85%
url/url-resolve.jsn=100000 path='sibling' href='auth'                                                                    2.99 %       ±6.18%  ±8.22% ±10.71%
url/url-resolve.jsn=100000 path='sibling' href='dot'                                                                     0.73 %       ±4.66%  ±6.20%  ±8.07%
url/url-resolve.jsn=100000 path='sibling' href='file'                                                                    1.73 %       ±5.63%  ±7.51%  ±9.81%
url/url-resolve.jsn=100000 path='sibling' href='idn'                                                                    -2.15 %       ±5.80%  ±7.72% ±10.05%
url/url-resolve.jsn=100000 path='sibling' href='javascript'                                                              0.52 %       ±2.13%  ±2.85%  ±3.74%
url/url-resolve.jsn=100000 path='sibling' href='long'                                                                   -0.87 %       ±2.81%  ±3.74%  ±4.89%
url/url-resolve.jsn=100000 path='sibling' href='noscheme'                                                                2.96 %       ±4.10%  ±5.49%  ±7.22%
url/url-resolve.jsn=100000 path='sibling' href='percent'                                                                 3.29 %       ±5.61%  ±7.53%  ±9.93%
url/url-resolve.jsn=100000 path='sibling' href='short'                                                                  -0.28 %       ±4.62%  ±6.15%  ±8.01%
url/url-resolve.jsn=100000 path='sibling' href='ws'                                                                      3.36 %       ±5.53%  ±7.36%  ±9.59%
url/url-resolve.jsn=100000 path='up' href='auth'                                                                         3.05 %       ±4.29%  ±5.73%  ±7.52%
url/url-resolve.jsn=100000 path='up' href='dot'                                                                          3.09 %       ±4.60%  ±6.16%  ±8.11%
url/url-resolve.jsn=100000 path='up' href='file'                                                                  *     -5.01 %       ±4.89%  ±6.52%  ±8.49%
url/url-resolve.jsn=100000 path='up' href='idn'                                                                   *     -4.81 %       ±4.12%  ±5.51%  ±7.21%
url/url-resolve.jsn=100000 path='up' href='javascript'                                                                   3.47 %       ±5.99%  ±8.03% ±10.57%
url/url-resolve.jsn=100000 path='up' href='long'                                                                         1.22 %       ±2.24%  ±2.99%  ±3.89%
url/url-resolve.jsn=100000 path='up' href='noscheme'                                                                     1.02 %       ±1.76%  ±2.34%  ±3.05%
url/url-resolve.jsn=100000 path='up' href='percent'                                                              **      7.46 %       ±4.85%  ±6.48%  ±8.51%
url/url-resolve.jsn=100000 path='up' href='short'                                                                       -0.48 %       ±5.63%  ±7.52%  ±9.84%
url/url-resolve.jsn=100000 path='up' href='ws'                                                                           1.45 %       ±4.40%  ±5.87%  ±7.67%
url/url-resolve.jsn=100000 path='withscheme' href='auth'                                                                 3.53 %       ±5.03%  ±6.76%  ±8.92%
url/url-resolve.jsn=100000 path='withscheme' href='dot'                                                                  1.25 %       ±6.38%  ±8.48% ±11.04%
url/url-resolve.jsn=100000 path='withscheme' href='file'                                                                 1.05 %       ±1.72%  ±2.29%  ±2.98%
url/url-resolve.jsn=100000 path='withscheme' href='idn'                                                                 -0.86 %       ±5.90%  ±7.92% ±10.45%
url/url-resolve.jsn=100000 path='withscheme' href='javascript'                                                           0.58 %       ±2.66%  ±3.57%  ±4.70%
url/url-resolve.jsn=100000 path='withscheme' href='long'                                                                 0.57 %       ±2.89%  ±3.86%  ±5.06%
url/url-resolve.jsn=100000 path='withscheme' href='noscheme'                                                            -1.62 %       ±3.32%  ±4.45%  ±5.86%
url/url-resolve.jsn=100000 path='withscheme' href='percent'                                                              1.46 %       ±6.53%  ±8.70% ±11.35%
url/url-resolve.jsn=100000 path='withscheme' href='short'                                                                0.66 %       ±1.92%  ±2.56%  ±3.33%
url/url-resolve.jsn=100000 path='withscheme' href='ws'                                                                  -3.03 %       ±4.76%  ±6.39%  ±8.44%
url/url-searchparams-iteration.jsn=1000000 loopMethod='forEach'                                                         -2.24 %       ±2.53%  ±3.38%  ±4.40%
url/url-searchparams-iteration.jsn=1000000 loopMethod='iterator'                                                         0.00 %       ±2.79%  ±3.73%  ±4.87%
url/url-searchparams-read.jsn=20000000 param='nonexistent' accessMethod='get'                                            3.71 %       ±5.08%  ±6.77%  ±8.83%
url/url-searchparams-read.jsn=20000000 param='nonexistent' accessMethod='getAll'                                         0.99 %       ±2.97%  ±3.95%  ±5.16%
url/url-searchparams-read.jsn=20000000 param='nonexistent' accessMethod='has'                                            2.43 %       ±5.15%  ±6.87%  ±8.98%
url/url-searchparams-read.jsn=20000000 param='one' accessMethod='get'                                                    0.36 %       ±2.94%  ±3.93%  ±5.15%
url/url-searchparams-read.jsn=20000000 param='one' accessMethod='getAll'                                                -1.45 %       ±1.61%  ±2.15%  ±2.82%
url/url-searchparams-read.jsn=20000000 param='one' accessMethod='has'                                                    1.12 %       ±5.89%  ±7.86% ±10.28%
url/url-searchparams-read.jsn=20000000 param='three' accessMethod='get'                                                 -1.60 %       ±6.77%  ±9.04% ±11.82%
url/url-searchparams-read.jsn=20000000 param='three' accessMethod='getAll'                                              -1.10 %       ±3.72%  ±5.01%  ±6.65%
url/url-searchparams-read.jsn=20000000 param='three' accessMethod='has'                                                  2.91 %       ±4.88%  ±6.50%  ±8.47%
url/url-searchparams-read.jsn=20000000 param='two' accessMethod='get'                                                    0.76 %       ±3.74%  ±5.02%  ±6.62%
url/url-searchparams-read.jsn=20000000 param='two' accessMethod='getAll'                                                -1.57 %       ±3.92%  ±5.22%  ±6.80%
url/url-searchparams-read.jsn=20000000 param='two' accessMethod='has'                                                    0.87 %       ±4.52%  ±6.01%  ±7.84%
url/url-searchparams-sort.jsn=1000000 type='almostsorted'                                                                0.84 %       ±2.68%  ±3.61%  ±4.76%
url/url-searchparams-sort.jsn=1000000 type='empty'                                                                      -2.23 %       ±5.14%  ±6.85%  ±8.92%
url/url-searchparams-sort.jsn=1000000 type='long'                                                                        0.45 %       ±1.52%  ±2.02%  ±2.65%
url/url-searchparams-sort.jsn=1000000 type='random'                                                                     -1.05 %       ±2.13%  ±2.86%  ±3.77%
url/url-searchparams-sort.jsn=1000000 type='reversed'                                                                    0.48 %       ±1.64%  ±2.18%  ±2.86%
url/url-searchparams-sort.jsn=1000000 type='short'                                                                      -2.53 %       ±5.89%  ±7.86% ±10.25%
url/url-searchparams-sort.jsn=1000000 type='sorted'                                                               *      1.00 %       ±0.91%  ±1.21%  ±1.58%
url/url-searchparams-sort.jsn=1000000 type='wpt'                                                                         3.85 %       ±6.07%  ±8.09% ±10.54%
url/usvstring.jsn=50000000 input='allinvalid'                                                                           -1.33 %       ±1.97%  ±2.63%  ±3.43%
url/usvstring.jsn=50000000 input='nonstring'                                                                            -0.64 %       ±2.40%  ±3.24%  ±4.29%
url/usvstring.jsn=50000000 input='someinvalid'                                                                           0.06 %       ±1.75%  ±2.34%  ±3.05%
url/usvstring.jsn=50000000 input='valid'                                                                          *     -2.23 %       ±1.81%  ±2.41%  ±3.17%
url/usvstring.jsn=50000000 input='validsurr'                                                                            -1.75 %       ±2.11%  ±2.83%  ±3.72%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='all'                                                                  0.81 %       ±2.25%  ±3.00%  ±3.90%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='empty'                                                               -3.75 %       ±7.50% ±10.00% ±13.05%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='none'                                                                 0.59 %       ±2.36%  ±3.14%  ±4.09%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='nonstring'                                                            0.76 %       ±5.75%  ±7.66%  ±9.98%
url/whatwg-url-idna.jsn=5000000 to='ascii' domain='some'                                                                 2.40 %       ±2.70%  ±3.60%  ±4.71%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='all'                                                                1.16 %       ±2.78%  ±3.70%  ±4.82%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='empty'                                                             -5.10 %       ±6.13%  ±8.24% ±10.90%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='none'                                                              -1.13 %       ±1.79%  ±2.39%  ±3.13%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='nonstring'                                                         -0.54 %       ±5.49%  ±7.30%  ±9.50%
url/whatwg-url-idna.jsn=5000000 to='unicode' domain='some'                                                              -0.57 %       ±1.95%  ±2.60%  ±3.39%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='false'                                                  1.69 %       ±6.20%  ±8.25% ±10.75%
url/whatwg-url-properties.jsprop='hash' e=1 type='wpt' withBase='true'                                                   0.69 %       ±8.66% ±11.52% ±15.00%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='false'                                           *     -7.14 %       ±6.03%  ±8.04% ±10.49%
url/whatwg-url-properties.jsprop='host' e=1 type='wpt' withBase='true'                                                   0.59 %       ±6.37%  ±8.49% ±11.07%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='false'                                             -2.23 %       ±7.22%  ±9.61% ±12.51%
url/whatwg-url-properties.jsprop='hostname' e=1 type='wpt' withBase='true'                                               2.86 %       ±6.10%  ±8.12% ±10.57%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='false'                                                 -6.24 %       ±9.16% ±12.21% ±15.91%
url/whatwg-url-properties.jsprop='href' e=1 type='wpt' withBase='true'                                                  -0.18 %       ±6.09%  ±8.10% ±10.55%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='false'                                                2.46 %       ±6.85%  ±9.11% ±11.87%
url/whatwg-url-properties.jsprop='origin' e=1 type='wpt' withBase='true'                                                -2.84 %       ±5.56%  ±7.41%  ±9.69%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='false'                                              1.39 %       ±7.68% ±10.22% ±13.31%
url/whatwg-url-properties.jsprop='password' e=1 type='wpt' withBase='true'                                        *     -5.80 %       ±4.63%  ±6.18%  ±8.08%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='false'                                       *     -7.58 %       ±6.62%  ±8.84% ±11.58%
url/whatwg-url-properties.jsprop='pathname' e=1 type='wpt' withBase='true'                                               5.28 %       ±6.32%  ±8.44% ±11.04%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='false'                                                 -5.92 %       ±6.07%  ±8.10% ±10.58%
url/whatwg-url-properties.jsprop='port' e=1 type='wpt' withBase='true'                                                  -0.65 %       ±5.65%  ±7.53%  ±9.81%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='false'                                              1.70 %       ±7.18%  ±9.56% ±12.45%
url/whatwg-url-properties.jsprop='protocol' e=1 type='wpt' withBase='true'                                              -1.79 %       ±5.23%  ±6.96%  ±9.07%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='false'                                               -1.70 %       ±6.83%  ±9.08% ±11.82%
url/whatwg-url-properties.jsprop='search' e=1 type='wpt' withBase='true'                                                -2.17 %       ±5.46%  ±7.27%  ±9.49%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='false'                                          1.00 %       ±6.40%  ±8.52% ±11.09%
url/whatwg-url-properties.jsprop='searchParams' e=1 type='wpt' withBase='true'                                          -0.75 %       ±5.99%  ±7.98% ±10.39%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='false'                                             -2.09 %       ±5.27%  ±7.02%  ±9.15%
url/whatwg-url-properties.jsprop='username' e=1 type='wpt' withBase='true'                                        *     -6.39 %       ±5.68%  ±7.56%  ±9.86%

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

@nodejs-github-bot
Copy link
Collaborator

@aduh95 aduh95 added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Feb 9, 2021
@ExE-Boss
Copy link
Contributor Author

There are some major perf improvements

I’m guessing that’s because V8 is able to better optimise classes when the methods are defined in the class declaration, rather than using Object.defineProperties.

@RaisinTen
Copy link
Contributor

cc @nodejs/url

@aduh95
Copy link
Contributor

aduh95 commented Feb 10, 2021

I’m guessing that’s because V8 is able to better optimise classes when the methods are defined in the class declaration, rather than using Object.defineProperties.

OK but do you understand how does this affect the legacy API?

PR-URL: nodejs#36799
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
This fixes getter and setter names for the WHATWG URL classes, and fixes
a few other inconsistencies with browsers implementations.

Co-authored-by: Gerhard Stöbich <deb2001-github@yahoo.de>

PR-URL: nodejs#36799
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
@aduh95 aduh95 force-pushed the lib/url/fix-method-accessor-definitions branch from 609a6eb to 0dfc0f5 Compare February 13, 2021 17:05
@aduh95
Copy link
Contributor

aduh95 commented Feb 13, 2021

Landed in 7d5806e...0dfc0f5

@aduh95 aduh95 merged commit 0dfc0f5 into nodejs:master Feb 13, 2021
@ExE-Boss ExE-Boss deleted the lib/url/fix-method-accessor-definitions branch February 13, 2021 22:23
danielleadams pushed a commit that referenced this pull request Feb 16, 2021
PR-URL: #36799
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
danielleadams pushed a commit that referenced this pull request Feb 16, 2021
This fixes getter and setter names for the WHATWG URL classes, and fixes
a few other inconsistencies with browsers implementations.

Co-authored-by: Gerhard Stöbich <deb2001-github@yahoo.de>

PR-URL: #36799
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
This was referenced Feb 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. review wanted PRs that need reviews. whatwg-url Issues and PRs related to the WHATWG URL implementation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants