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: refactor to use more primordials #36316

Merged
merged 1 commit into from
Dec 25, 2020
Merged

Conversation

aduh95
Copy link
Contributor

@aduh95 aduh95 commented Nov 29, 2020

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

@aduh95 aduh95 added needs-benchmark-ci PR that need a benchmark CI run. whatwg-url Issues and PRs related to the WHATWG URL implementation. labels Nov 29, 2020
mscdex
mscdex previously requested changes Nov 30, 2020
Copy link
Contributor

@mscdex mscdex left a comment

Choose a reason for hiding this comment

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

There are quite a few performance regressions with these changes:

url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodefake'                ***    -14.06 %       ±3.44%  ±4.62%  ±6.12%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodemany'                ***     -5.30 %       ±2.01%  ±2.67%  ±3.48%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manypairs'                 ***    -33.05 %       ±2.70%  ±3.63%  ±4.80%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multicharsep'              ***    -15.20 %       ±2.71%  ±3.64%  ±4.80%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivalue'                ***    -17.42 %       ±4.68%  ±6.31%  ±8.36%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivaluemany'            ***    -21.22 %       ±1.89%  ±2.54%  ±3.35%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='noencode'                  ***    -23.02 %       ±5.13%  ±6.91%  ±9.17%
url/url-searchparams-iteration.js n=1000000 loopMethod='forEach'                                                 ***    -48.89 %       ±1.47%  ±1.97%  ±2.60%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='getAll'                                        ***     -3.59 %       ±1.19%  ±1.58%  ±2.06%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='getAll'                                      ***    -19.54 %       ±2.22%  ±2.95%  ±3.85%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='getAll'                                        ***     -6.40 %       ±1.75%  ±2.33%  ±3.04%

@aduh95 aduh95 marked this pull request as draft December 3, 2020 22:39
@aduh95 aduh95 marked this pull request as ready for review December 24, 2020 10:04
@aduh95
Copy link
Contributor Author

aduh95 commented Dec 24, 2020

@mscdex I've removed the changes causing significant perf regression, PTAL

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

Results
                                                                                                           confidence improvement accuracy (*)    (**)   (***)
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='auth'                                                     -0.05 %       ±8.15% ±10.85% ±14.12%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='dot'                                                       0.68 %       ±4.60%  ±6.12%  ±7.97%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='file'                                                     -4.20 %       ±6.31%  ±8.44% ±11.06%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='idn'                                                      -3.21 %       ±9.02% ±12.07% ±15.83%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='javascript'                                                1.74 %       ±6.97%  ±9.28% ±12.10%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='long'                                                      4.26 %       ±7.24%  ±9.64% ±12.55%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='percent'                                           **      7.33 %       ±5.28%  ±7.03%  ±9.15%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='short'                                                     1.36 %       ±5.29%  ±7.05%  ±9.18%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='wpt'                                                       4.29 %       ±6.98%  ±9.29% ±12.09%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='ws'                                                        7.02 %       ±8.24% ±10.96% ±14.27%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='auth'                                                      1.35 %       ±4.80%  ±6.40%  ±8.34%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='dot'                                                      -1.13 %       ±5.96%  ±7.94% ±10.34%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='file'                                                     -0.35 %       ±5.74%  ±7.64%  ±9.95%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='idn'                                                      -3.83 %       ±6.15%  ±8.20% ±10.70%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='javascript'                                                0.41 %       ±5.76%  ±7.68% ±10.01%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='long'                                                      5.45 %       ±8.84% ±11.78% ±15.38%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='percent'                                                  -1.05 %       ±5.55%  ±7.40%  ±9.65%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='short'                                                    -1.06 %       ±5.97%  ±7.95% ±10.35%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='wpt'                                                *      6.82 %       ±5.52%  ±7.35%  ±9.56%
 url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='ws'                                                        1.06 %       ±7.58% ±10.09% ±13.13%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='auth' withBase='false'                                        0.72 %       ±5.58%  ±7.46%  ±9.80%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='auth' withBase='true'                                        -3.44 %       ±5.74%  ±7.65%  ±9.98%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='dot' withBase='false'                                         2.36 %       ±6.56%  ±8.74% ±11.40%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='dot' withBase='true'                                         -2.48 %       ±6.61%  ±8.83% ±11.56%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='file' withBase='false'                                       -0.77 %       ±5.81%  ±7.73% ±10.08%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='file' withBase='true'                                        -1.75 %       ±7.28%  ±9.69% ±12.63%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='idn' withBase='false'                                        -2.42 %       ±5.52%  ±7.35%  ±9.57%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='idn' withBase='true'                                         -0.22 %       ±5.49%  ±7.30%  ±9.51%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='javascript' withBase='false'                                  0.90 %       ±6.88%  ±9.17% ±11.95%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='javascript' withBase='true'                                  -2.78 %       ±6.21%  ±8.28% ±10.80%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='long' withBase='false'                                        1.91 %       ±4.75%  ±6.32%  ±8.23%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='long' withBase='true'                                         1.54 %       ±3.59%  ±4.78%  ±6.22%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='percent' withBase='false'                                     0.26 %       ±4.20%  ±5.58%  ±7.27%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='percent' withBase='true'                                     -1.91 %       ±5.36%  ±7.13%  ±9.28%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='short' withBase='false'                                      -0.04 %       ±6.53%  ±8.69% ±11.32%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='short' withBase='true'                                       -3.90 %       ±5.88%  ±7.83% ±10.19%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='wpt' withBase='false'                                         1.41 %       ±5.69%  ±7.57%  ±9.88%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='wpt' withBase='true'                                         -1.76 %       ±6.42%  ±8.55% ±11.16%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='ws' withBase='false'                                          0.49 %       ±5.98%  ±7.96% ±10.36%
 url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='ws' withBase='true'                                          -0.73 %       ±5.24%  ±6.99%  ±9.11%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='auth' withBase='false'                                       -1.03 %       ±6.48%  ±8.63% ±11.23%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='auth' withBase='true'                                         3.01 %       ±5.34%  ±7.10%  ±9.25%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='dot' withBase='false'                                         4.28 %       ±7.56% ±10.06% ±13.10%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='dot' withBase='true'                                         -2.09 %       ±6.83%  ±9.09% ±11.83%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='file' withBase='false'                                        1.42 %       ±7.29%  ±9.72% ±12.68%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='file' withBase='true'                                        -4.22 %       ±6.65%  ±8.85% ±11.52%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='idn' withBase='false'                                        -2.92 %       ±6.28%  ±8.37% ±10.91%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='idn' withBase='true'                                         -3.04 %       ±4.84%  ±6.45%  ±8.42%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='javascript' withBase='false'                                  2.59 %       ±7.49%  ±9.99% ±13.04%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='javascript' withBase='true'                                  -1.62 %       ±6.03%  ±8.03% ±10.46%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='long' withBase='false'                                        2.11 %       ±7.47%  ±9.95% ±12.97%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='long' withBase='true'                                         0.79 %       ±6.65%  ±8.85% ±11.51%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='percent' withBase='false'                                     3.25 %       ±6.27%  ±8.37% ±10.95%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='percent' withBase='true'                                     -1.40 %       ±4.34%  ±5.79%  ±7.56%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='short' withBase='false'                                       2.24 %       ±9.22% ±12.27% ±15.96%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='short' withBase='true'                                       -1.35 %       ±5.13%  ±6.85%  ±8.96%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='wpt' withBase='false'                                         0.05 %       ±5.56%  ±7.42%  ±9.69%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='wpt' withBase='true'                                         -1.33 %       ±5.62%  ±7.48%  ±9.74%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='ws' withBase='false'                                          2.80 %       ±7.98% ±10.62% ±13.83%
 url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='ws' withBase='true'                                          -1.05 %       ±5.63%  ±7.49%  ±9.76%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='altspaces'                         -0.52 %       ±3.16%  ±4.21%  ±5.48%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodefake'                         0.10 %       ±1.55%  ±2.06%  ±2.68%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodelast'                         0.78 %       ±3.66%  ±4.87%  ±6.34%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodemany'                        -0.18 %       ±1.93%  ±2.58%  ±3.38%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manyblankpairs'                    -2.31 %       ±8.26% ±11.05% ±14.50%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manypairs'                          1.59 %       ±3.59%  ±4.81%  ±6.33%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multicharsep'                      -0.69 %       ±2.32%  ±3.09%  ±4.03%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivalue'                         2.75 %       ±2.95%  ±3.96%  ±5.21%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivaluemany'              *     -2.04 %       ±1.64%  ±2.18%  ±2.84%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='noencode'                    *     -3.33 %       ±3.02%  ±4.04%  ±5.28%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='altspaces'                         -6.45 %       ±7.04%  ±9.37% ±12.20%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodefake'                        -5.37 %       ±7.03%  ±9.44% ±12.47%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodelast'                        -1.30 %       ±6.16%  ±8.20% ±10.68%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodemany'                        -1.11 %       ±3.07%  ±4.09%  ±5.32%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manyblankpairs'                    -0.12 %       ±2.67%  ±3.56%  ±4.66%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manypairs'                   *     -2.26 %       ±1.74%  ±2.31%  ±3.01%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multicharsep'                *     -7.53 %       ±5.61%  ±7.56% ±10.02%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivalue'                  *     -9.21 %       ±7.03%  ±9.35% ±12.19%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivaluemany'                    -1.78 %       ±3.91%  ±5.20%  ±6.78%
 url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='noencode'                          -0.80 %       ±4.57%  ±6.08%  ±7.92%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='altspaces'                     -1.39 %       ±1.84%  ±2.45%  ±3.19%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodefake'                    -0.05 %       ±2.08%  ±2.77%  ±3.61%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodelast'                    -1.51 %       ±1.85%  ±2.46%  ±3.20%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodemany'                     3.43 %       ±4.81%  ±6.47%  ±8.54%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manyblankpairs'          *      3.91 %       ±3.59%  ±4.79%  ±6.24%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manypairs'                     -1.53 %       ±2.42%  ±3.22%  ±4.20%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multicharsep'                  -3.91 %       ±4.92%  ±6.61%  ±8.73%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivalue'                    -0.44 %       ±1.25%  ±1.67%  ±2.17%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivaluemany'                -0.47 %       ±1.64%  ±2.18%  ±2.83%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='noencode'                      -1.48 %       ±3.56%  ±4.78%  ±6.31%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='altspaces'                      1.60 %       ±5.75%  ±7.65%  ±9.96%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodefake'                    -0.50 %       ±6.28%  ±8.36% ±10.88%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodelast'                    -0.87 %       ±4.72%  ±6.34%  ±8.37%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodemany'                    -1.19 %       ±1.59%  ±2.11%  ±2.75%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manyblankpairs'                -4.31 %       ±4.54%  ±6.05%  ±7.92%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manypairs'                     -0.60 %       ±1.24%  ±1.65%  ±2.14%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multicharsep'                  -1.20 %       ±7.00%  ±9.31% ±12.12%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivalue'                    -0.43 %       ±7.07%  ±9.41% ±12.26%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivaluemany'                -0.56 %       ±1.97%  ±2.62%  ±3.42%
 url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='noencode'                      -1.14 %       ±8.70% ±11.60% ±15.13%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='auth'                                                    -3.69 %       ±6.48%  ±8.64% ±11.26%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='dot'                                                     -0.24 %       ±4.66%  ±6.21%  ±8.09%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='file'                                                     1.35 %       ±8.23% ±10.95% ±14.25%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='idn'                                                      2.18 %       ±6.08%  ±8.09% ±10.53%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='javascript'                                              -1.26 %       ±5.16%  ±6.88%  ±8.98%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='long'                                                     4.28 %       ±5.65%  ±7.53%  ±9.82%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='percent'                                                  4.65 %       ±5.01%  ±6.67%  ±8.69%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='short'                                                    5.55 %       ±6.39%  ±8.52% ±11.11%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='wpt'                                                     -2.45 %       ±4.14%  ±5.51%  ±7.18%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='ws'                                                      -1.42 %       ±5.64%  ±7.51%  ±9.78%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='auth'                                                    -2.09 %       ±5.85%  ±7.79% ±10.17%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='dot'                                              **      8.13 %       ±5.98%  ±7.96% ±10.38%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='file'                                                     1.77 %       ±6.62%  ±8.81% ±11.48%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='idn'                                                      1.17 %       ±7.29%  ±9.72% ±12.69%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='javascript'                                               1.83 %       ±5.27%  ±7.02%  ±9.13%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='long'                                                    -2.11 %       ±5.95%  ±7.93% ±10.32%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='percent'                                                 -7.31 %       ±9.21% ±12.37% ±16.32%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='short'                                                    3.49 %       ±5.73%  ±7.62%  ±9.92%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='wpt'                                                     -4.19 %       ±5.88%  ±7.82% ±10.18%
 url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='ws'                                                      -4.36 %       ±6.52%  ±8.69% ±11.35%
 url/url-format.js n=25000000 type='file'                                                                                  0.76 %       ±2.28%  ±3.05%  ±4.01%
 url/url-format.js n=25000000 type='slashes'                                                                               0.26 %       ±1.55%  ±2.07%  ±2.72%
 url/url-parse.js n=10000000 type='escaped'                                                                               -0.86 %       ±2.97%  ±3.96%  ±5.15%
 url/url-parse.js n=10000000 type='normal'                                                                                -1.26 %       ±3.06%  ±4.08%  ±5.31%
 url/url-resolve.js n=100000 path='down' href='auth'                                                                       3.62 %       ±5.55%  ±7.40%  ±9.67%
 url/url-resolve.js n=100000 path='down' href='dot'                                                                        1.71 %       ±4.80%  ±6.44%  ±8.48%
 url/url-resolve.js n=100000 path='down' href='file'                                                                      -0.20 %       ±2.57%  ±3.42%  ±4.46%
 url/url-resolve.js n=100000 path='down' href='idn'                                                                       -3.90 %       ±6.98%  ±9.30% ±12.13%
 url/url-resolve.js n=100000 path='down' href='javascript'                                                                -1.27 %       ±3.34%  ±4.46%  ±5.83%
 url/url-resolve.js n=100000 path='down' href='long'                                                                      -0.58 %       ±2.02%  ±2.69%  ±3.50%
 url/url-resolve.js n=100000 path='down' href='noscheme'                                                                  -1.03 %       ±3.08%  ±4.10%  ±5.33%
 url/url-resolve.js n=100000 path='down' href='percent'                                                                    0.00 %       ±3.05%  ±4.06%  ±5.29%
 url/url-resolve.js n=100000 path='down' href='short'                                                                      0.21 %       ±2.00%  ±2.66%  ±3.46%
 url/url-resolve.js n=100000 path='down' href='ws'                                                                         1.41 %       ±4.51%  ±6.01%  ±7.84%
 url/url-resolve.js n=100000 path='foo/bar' href='auth'                                                                    0.56 %       ±6.33%  ±8.43% ±10.98%
 url/url-resolve.js n=100000 path='foo/bar' href='dot'                                                                    -1.22 %       ±4.02%  ±5.37%  ±7.04%
 url/url-resolve.js n=100000 path='foo/bar' href='file'                                                                    3.24 %       ±5.61%  ±7.53%  ±9.92%
 url/url-resolve.js n=100000 path='foo/bar' href='idn'                                                                     1.09 %       ±4.93%  ±6.62%  ±8.71%
 url/url-resolve.js n=100000 path='foo/bar' href='javascript'                                                              0.06 %       ±2.24%  ±2.97%  ±3.87%
 url/url-resolve.js n=100000 path='foo/bar' href='long'                                                                    1.00 %       ±3.94%  ±5.24%  ±6.82%
 url/url-resolve.js n=100000 path='foo/bar' href='noscheme'                                                                4.30 %       ±4.41%  ±5.92%  ±7.79%
 url/url-resolve.js n=100000 path='foo/bar' href='percent'                                                                -0.56 %       ±3.36%  ±4.48%  ±5.84%
 url/url-resolve.js n=100000 path='foo/bar' href='short'                                                                   2.01 %       ±3.73%  ±4.98%  ±6.52%
 url/url-resolve.js n=100000 path='foo/bar' href='ws'                                                                      0.99 %       ±6.29%  ±8.37% ±10.90%
 url/url-resolve.js n=100000 path='sibling' href='auth'                                                                   -2.76 %       ±5.63%  ±7.53%  ±9.86%
 url/url-resolve.js n=100000 path='sibling' href='dot'                                                                    -1.09 %       ±5.68%  ±7.55%  ±9.83%
 url/url-resolve.js n=100000 path='sibling' href='file'                                                                   -1.08 %       ±5.06%  ±6.73%  ±8.76%
 url/url-resolve.js n=100000 path='sibling' href='idn'                                                                     2.81 %       ±3.70%  ±4.96%  ±6.53%
 url/url-resolve.js n=100000 path='sibling' href='javascript'                                                              1.96 %       ±4.37%  ±5.84%  ±7.65%
 url/url-resolve.js n=100000 path='sibling' href='long'                                                                    2.85 %       ±3.49%  ±4.66%  ±6.11%
 url/url-resolve.js n=100000 path='sibling' href='noscheme'                                                               -0.31 %       ±2.45%  ±3.26%  ±4.25%
 url/url-resolve.js n=100000 path='sibling' href='percent'                                                                -2.10 %       ±6.60%  ±8.78% ±11.43%
 url/url-resolve.js n=100000 path='sibling' href='short'                                                                  -0.68 %       ±4.56%  ±6.07%  ±7.90%
 url/url-resolve.js n=100000 path='sibling' href='ws'                                                                     -1.16 %       ±6.48%  ±8.65% ±11.32%
 url/url-resolve.js n=100000 path='up' href='auth'                                                                         3.87 %       ±5.27%  ±7.08%  ±9.35%
 url/url-resolve.js n=100000 path='up' href='dot'                                                                          0.62 %       ±5.58%  ±7.47%  ±9.82%
 url/url-resolve.js n=100000 path='up' href='file'                                                                         1.52 %       ±6.70%  ±8.94% ±11.66%
 url/url-resolve.js n=100000 path='up' href='idn'                                                                         -0.56 %       ±3.24%  ±4.31%  ±5.61%
 url/url-resolve.js n=100000 path='up' href='javascript'                                                                   4.00 %       ±5.11%  ±6.86%  ±9.05%
 url/url-resolve.js n=100000 path='up' href='long'                                                                        -2.21 %       ±2.51%  ±3.34%  ±4.36%
 url/url-resolve.js n=100000 path='up' href='noscheme'                                                                     2.27 %       ±4.26%  ±5.70%  ±7.48%
 url/url-resolve.js n=100000 path='up' href='percent'                                                                      2.07 %       ±4.23%  ±5.66%  ±7.43%
 url/url-resolve.js n=100000 path='up' href='short'                                                                       -0.12 %       ±2.22%  ±2.96%  ±3.85%
 url/url-resolve.js n=100000 path='up' href='ws'                                                                   **     -8.23 %       ±6.12%  ±8.21% ±10.83%
 url/url-resolve.js n=100000 path='withscheme' href='auth'                                                                -2.41 %       ±6.96%  ±9.27% ±12.09%
 url/url-resolve.js n=100000 path='withscheme' href='dot'                                                                 -3.90 %       ±7.19%  ±9.58% ±12.47%
 url/url-resolve.js n=100000 path='withscheme' href='file'                                                                -1.01 %       ±4.60%  ±6.18%  ±8.16%
 url/url-resolve.js n=100000 path='withscheme' href='idn'                                                                 -2.00 %       ±4.69%  ±6.24%  ±8.12%
 url/url-resolve.js n=100000 path='withscheme' href='javascript'                                                           1.02 %       ±4.10%  ±5.49%  ±7.19%
 url/url-resolve.js n=100000 path='withscheme' href='long'                                                                 0.53 %       ±3.22%  ±4.31%  ±5.67%
 url/url-resolve.js n=100000 path='withscheme' href='noscheme'                                                             1.41 %       ±5.22%  ±7.02%  ±9.28%
 url/url-resolve.js n=100000 path='withscheme' href='percent'                                                              4.10 %       ±4.84%  ±6.50%  ±8.56%
 url/url-resolve.js n=100000 path='withscheme' href='short'                                                                2.85 %       ±5.51%  ±7.42%  ±9.83%
 url/url-resolve.js n=100000 path='withscheme' href='ws'                                                                  -0.59 %       ±7.72% ±10.28% ±13.38%
 url/url-searchparams-iteration.js n=1000000 loopMethod='forEach'                                                         -0.06 %       ±3.20%  ±4.26%  ±5.56%
 url/url-searchparams-iteration.js n=1000000 loopMethod='iterator'                                                        -0.69 %       ±2.16%  ±2.88%  ±3.76%
 url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='get'                                            0.37 %       ±4.04%  ±5.41%  ±7.12%
 url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='getAll'                                         0.88 %       ±3.32%  ±4.42%  ±5.76%
 url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='has'                                           -1.46 %       ±5.50%  ±7.38%  ±9.72%
 url/url-searchparams-read.js n=20000000 param='one' accessMethod='get'                                                    2.46 %       ±4.41%  ±5.91%  ±7.79%
 url/url-searchparams-read.js n=20000000 param='one' accessMethod='getAll'                                                 3.90 %       ±4.59%  ±6.11%  ±7.98%
 url/url-searchparams-read.js n=20000000 param='one' accessMethod='has'                                                   -3.50 %       ±3.77%  ±5.02%  ±6.53%
 url/url-searchparams-read.js n=20000000 param='three' accessMethod='get'                                                 -0.82 %       ±2.67%  ±3.55%  ±4.62%
 url/url-searchparams-read.js n=20000000 param='three' accessMethod='getAll'                                              -1.90 %       ±2.94%  ±3.94%  ±5.19%
 url/url-searchparams-read.js n=20000000 param='three' accessMethod='has'                                                  1.55 %       ±2.38%  ±3.18%  ±4.16%
 url/url-searchparams-read.js n=20000000 param='two' accessMethod='get'                                                    3.37 %       ±5.37%  ±7.15%  ±9.33%
 url/url-searchparams-read.js n=20000000 param='two' accessMethod='getAll'                                                 0.81 %       ±1.43%  ±1.91%  ±2.49%
 url/url-searchparams-read.js n=20000000 param='two' accessMethod='has'                                                    1.03 %       ±5.32%  ±7.10%  ±9.31%
 url/url-searchparams-sort.js n=1000000 type='almostsorted'                                                               -0.60 %       ±1.72%  ±2.30%  ±3.04%
 url/url-searchparams-sort.js n=1000000 type='empty'                                                                       0.79 %       ±4.57%  ±6.08%  ±7.92%
 url/url-searchparams-sort.js n=1000000 type='long'                                                                        0.47 %       ±2.60%  ±3.46%  ±4.50%
 url/url-searchparams-sort.js n=1000000 type='random'                                                                     -0.07 %       ±1.97%  ±2.64%  ±3.47%
 url/url-searchparams-sort.js n=1000000 type='reversed'                                                                   -1.21 %       ±2.32%  ±3.12%  ±4.13%
 url/url-searchparams-sort.js n=1000000 type='short'                                                                      -0.42 %       ±1.72%  ±2.29%  ±2.98%
 url/url-searchparams-sort.js n=1000000 type='sorted'                                                                     -2.17 %       ±4.33%  ±5.83%  ±7.73%
 url/url-searchparams-sort.js n=1000000 type='wpt'                                                                        -3.85 %       ±5.07%  ±6.76%  ±8.83%
 url/usvstring.js n=50000000 input='allinvalid'                                                                            1.88 %       ±2.11%  ±2.85%  ±3.77%
 url/usvstring.js n=50000000 input='nonstring'                                                                            -3.28 %       ±3.74%  ±5.03%  ±6.66%
 url/usvstring.js n=50000000 input='someinvalid'                                                                          -0.21 %       ±1.50%  ±2.00%  ±2.60%
 url/usvstring.js n=50000000 input='valid'                                                                                -2.52 %       ±2.95%  ±3.97%  ±5.25%
 url/usvstring.js n=50000000 input='validsurr'                                                                             0.32 %       ±1.30%  ±1.75%  ±2.32%
 url/whatwg-url-idna.js n=5000000 to='ascii' domain='all'                                                                  0.81 %       ±2.19%  ±2.91%  ±3.79%
 url/whatwg-url-idna.js n=5000000 to='ascii' domain='empty'                                                               -0.01 %       ±7.01%  ±9.33% ±12.15%
 url/whatwg-url-idna.js n=5000000 to='ascii' domain='none'                                                                -0.04 %       ±1.35%  ±1.80%  ±2.34%
 url/whatwg-url-idna.js n=5000000 to='ascii' domain='nonstring'                                                           -0.88 %       ±4.22%  ±5.62%  ±7.32%
 url/whatwg-url-idna.js n=5000000 to='ascii' domain='some'                                                                -0.20 %       ±1.67%  ±2.23%  ±2.91%
 url/whatwg-url-idna.js n=5000000 to='unicode' domain='all'                                                               -1.17 %       ±1.74%  ±2.32%  ±3.03%
 url/whatwg-url-idna.js n=5000000 to='unicode' domain='empty'                                                              1.10 %       ±8.17% ±10.88% ±14.17%
 url/whatwg-url-idna.js n=5000000 to='unicode' domain='none'                                                              -0.73 %       ±1.62%  ±2.15%  ±2.81%
 url/whatwg-url-idna.js n=5000000 to='unicode' domain='nonstring'                                                         -2.66 %       ±6.07%  ±8.08% ±10.52%
 url/whatwg-url-idna.js n=5000000 to='unicode' domain='some'                                                               0.53 %       ±1.77%  ±2.38%  ±3.14%
 url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='false'                                                  1.71 %       ±5.32%  ±7.09%  ±9.23%
 url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='true'                                                  -4.22 %       ±6.12%  ±8.15% ±10.62%
 url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='false'                                                  1.45 %       ±7.36%  ±9.82% ±12.82%
 url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='true'                                                  -3.09 %       ±6.80%  ±9.05% ±11.78%
 url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='false'                                             -1.68 %       ±5.12%  ±6.83%  ±8.90%
 url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='true'                                              -2.60 %       ±5.58%  ±7.43%  ±9.68%
 url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='false'                                                 -1.14 %       ±4.30%  ±5.72%  ±7.45%
 url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='true'                                            *     -8.14 %       ±6.68%  ±8.90% ±11.63%
 url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='false'                                               -3.91 %       ±5.42%  ±7.21%  ±9.39%
 url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='true'                                                 1.12 %       ±8.35% ±11.12% ±14.52%
 url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='false'                                             -2.83 %       ±5.56%  ±7.40%  ±9.64%
 url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='true'                                               1.37 %       ±8.43% ±11.22% ±14.61%
 url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='false'                                             -2.28 %       ±6.40%  ±8.52% ±11.10%
 url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='true'                                              -1.37 %      ±11.24% ±15.04% ±19.75%
 url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='false'                                                  0.15 %       ±5.71%  ±7.60%  ±9.89%
 url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='true'                                                   0.24 %       ±8.54% ±11.38% ±14.84%
 url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='false'                                             -5.35 %       ±7.44%  ±9.90% ±12.88%
 url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='true'                                              -0.51 %       ±5.46%  ±7.27%  ±9.46%
 url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='false'                                                3.87 %       ±6.58%  ±8.76% ±11.40%
 url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='true'                                                 0.32 %       ±6.22%  ±8.28% ±10.79%
 url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='false'                                          5.48 %       ±6.53%  ±8.70% ±11.35%
 url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='true'                                           0.72 %       ±6.27%  ±8.34% ±10.85%
 url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='false'                                              3.67 %       ±7.36%  ±9.80% ±12.78%
 url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='true'                                              -3.34 %       ±6.72%  ±8.94% ±11.63%

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 (***)

@aduh95 aduh95 added review wanted PRs that need reviews. and removed needs-benchmark-ci PR that need a benchmark CI run. labels Dec 24, 2020
@PoojaDurgad PoojaDurgad added the request-ci Add this label to start a Jenkins CI on a PR. label Dec 24, 2020
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 24, 2020
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@aduh95 aduh95 added the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 25, 2020
@github-actions github-actions bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Dec 25, 2020
@github-actions
Copy link
Contributor

Commit Queue failed
- Loading data for nodejs/node/pull/36316
✔  Done loading data for nodejs/node/pull/36316
----------------------------------- PR info ------------------------------------
Title      url: refactor to use more primordials (#36316)
   ⚠  Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch     aduh95:url-primordials -> nodejs:master
Labels     review wanted, whatwg-url
Commits    2
 - url: refactor to use more primordials
 - fixup! url: refactor to use more primordials
Committers 1
 - Antoine du Hamel 
PR-URL: https://github.com/nodejs/node/pull/36316
Reviewed-By: Rich Trott 
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/36316
Reviewed-By: Rich Trott 
--------------------------------------------------------------------------------
   ✖  Last GitHub CI failed
   ℹ  Last Benchmark CI on 2020-12-24T10:06:18Z: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/795/console
   ℹ  Last Full PR CI on 2020-12-24T15:20:35Z: https://ci.nodejs.org/job/node-test-pull-request/35064/
- Querying data for job/node-test-pull-request/35064/
✔  Build data downloaded
   ✔  Last Jenkins CI successful
   ℹ  This PR was created on Sun, 29 Nov 2020 17:54:03 GMT
   ✔  Approvals: 1
   ✔  - Rich Trott (@Trott) (TSC): https://github.com/nodejs/node/pull/36316#pullrequestreview-558821900
--------------------------------------------------------------------------------
   ✔  Aborted `git node land` session in /home/runner/work/node/node/.ncu
https://github.com/nodejs/node/actions/runs/444394775

PR-URL: nodejs#36316
Reviewed-By: Rich Trott <rtrott@gmail.com>
@aduh95
Copy link
Contributor Author

aduh95 commented Dec 25, 2020

Landed in 5d28edc

@aduh95 aduh95 merged commit 5d28edc into nodejs:master Dec 25, 2020
@aduh95 aduh95 deleted the url-primordials branch December 25, 2020 18:54
danielleadams pushed a commit that referenced this pull request Jan 12, 2021
PR-URL: #36316
Reviewed-By: Rich Trott <rtrott@gmail.com>
@danielleadams danielleadams mentioned this pull request Jan 12, 2021
targos pushed a commit that referenced this pull request May 25, 2021
PR-URL: #36316
Reviewed-By: Rich Trott <rtrott@gmail.com>
targos pushed a commit that referenced this pull request Jun 5, 2021
PR-URL: #36316
Reviewed-By: Rich Trott <rtrott@gmail.com>
targos pushed a commit that referenced this pull request Jun 11, 2021
PR-URL: #36316
Reviewed-By: Rich Trott <rtrott@gmail.com>
@targos targos removed the commit-queue-failed An error occurred while landing this pull request using GitHub Actions. label Sep 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

6 participants