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: remove unnecessary object call to kFormat #45492

Merged
merged 1 commit into from
Nov 17, 2022

Conversation

anonrig
Copy link
Member

@anonrig anonrig commented Nov 16, 2022

Unnecessary call to {} triggers validateObject which effects the performance. Found it while working on nodejs/undici#1774

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. whatwg-url Issues and PRs related to the WHATWG URL implementation. labels Nov 16, 2022
@anonrig
Copy link
Member Author

anonrig commented Nov 16, 2022

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

Results
                                                                                                          confidence improvement accuracy (*)    (**)   (***)
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='auth'                                                      3.94 %       ±7.91% ±10.54% ±13.74%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='dot'                                                       5.20 %      ±10.55% ±14.03% ±18.26%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='file'                                                      2.23 %       ±9.10% ±12.12% ±15.79%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='idn'                                                       5.47 %       ±9.08% ±12.08% ±15.73%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='javascript'                                               -0.08 %       ±9.29% ±12.36% ±16.10%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='long'                                                     -2.64 %       ±8.12% ±10.81% ±14.09%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='percent'                                                  -8.51 %       ±8.80% ±11.71% ±15.25%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='short'                                              *     -9.28 %       ±7.70% ±10.25% ±13.35%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='wpt'                                                      -4.85 %       ±7.40%  ±9.86% ±12.83%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='legacy' type='ws'                                                        0.76 %       ±8.33% ±11.08% ±14.43%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='auth'                                                      1.28 %      ±12.64% ±16.88% ±22.11%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='dot'                                                      -4.26 %       ±6.70%  ±8.92% ±11.64%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='file'                                                     -4.04 %       ±6.96%  ±9.27% ±12.07%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='idn'                                                      -2.40 %       ±6.33%  ±8.42% ±10.97%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='javascript'                                               -1.23 %       ±7.25%  ±9.67% ±12.63%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='long'                                                     -1.00 %       ±9.41% ±12.52% ±16.30%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='percent'                                                  -4.64 %       ±7.40%  ±9.85% ±12.84%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='short'                                                     4.46 %       ±6.43%  ±8.56% ±11.15%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='wpt'                                                       0.72 %       ±7.77% ±10.34% ±13.46%
url/legacy-vs-whatwg-url-get-prop.js e=1 method='whatwg' type='ws'                                                       -1.43 %       ±6.70%  ±8.93% ±11.66%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='auth' withBase='false'                                        5.90 %       ±7.17%  ±9.54% ±12.42%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='auth' withBase='true'                                         4.29 %       ±6.31%  ±8.41% ±10.95%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='dot' withBase='false'                                        -1.80 %       ±6.68%  ±8.89% ±11.59%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='dot' withBase='true'                                          1.13 %       ±6.16%  ±8.20% ±10.68%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='file' withBase='false'                                       -4.05 %       ±6.61%  ±8.79% ±11.45%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='file' withBase='true'                                        -0.96 %       ±6.19%  ±8.23% ±10.72%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='idn' withBase='false'                                 **      7.71 %       ±5.07%  ±6.76%  ±8.82%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='idn' withBase='true'                                         -1.00 %       ±7.14%  ±9.51% ±12.37%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='javascript' withBase='false'                                 -6.41 %       ±7.04%  ±9.40% ±12.31%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='javascript' withBase='true'                                   1.94 %       ±6.67%  ±8.87% ±11.54%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='long' withBase='false'                                       -1.51 %       ±6.90%  ±9.18% ±11.96%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='long' withBase='true'                                         0.34 %       ±5.69%  ±7.57%  ±9.85%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='percent' withBase='false'                                    -3.58 %       ±6.21%  ±8.27% ±10.76%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='percent' withBase='true'                                      3.07 %       ±5.30%  ±7.06%  ±9.20%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='short' withBase='false'                                      -1.33 %       ±5.83%  ±7.76% ±10.10%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='short' withBase='true'                                        1.08 %       ±7.65% ±10.18% ±13.25%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='wpt' withBase='false'                                        -3.13 %       ±7.09%  ±9.44% ±12.29%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='wpt' withBase='true'                                         -2.72 %       ±6.89%  ±9.16% ±11.93%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='ws' withBase='false'                                         -3.24 %       ±5.61%  ±7.47%  ±9.72%
url/legacy-vs-whatwg-url-parse.js method='legacy' e=1 type='ws' withBase='true'                                          -0.47 %       ±6.45%  ±8.59% ±11.19%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='auth' withBase='false'                                       -2.24 %       ±6.52%  ±8.69% ±11.32%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='auth' withBase='true'                                        -0.18 %       ±5.59%  ±7.43%  ±9.68%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='dot' withBase='false'                                        -1.41 %       ±7.30%  ±9.72% ±12.66%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='dot' withBase='true'                                          2.62 %       ±4.93%  ±6.55%  ±8.53%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='file' withBase='false'                                        0.29 %       ±7.42%  ±9.87% ±12.85%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='file' withBase='true'                                         1.19 %       ±5.28%  ±7.02%  ±9.14%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='idn' withBase='false'                                         1.92 %       ±7.38%  ±9.82% ±12.80%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='idn' withBase='true'                                         -0.62 %       ±7.25%  ±9.65% ±12.56%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='javascript' withBase='false'                                  2.94 %       ±5.20%  ±6.93%  ±9.03%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='javascript' withBase='true'                                  -2.10 %       ±4.68%  ±6.26%  ±8.22%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='long' withBase='false'                                       -0.42 %       ±4.90%  ±6.53%  ±8.50%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='long' withBase='true'                                         4.14 %       ±5.20%  ±6.92%  ±9.01%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='percent' withBase='false'                                    -2.11 %       ±7.60% ±10.11% ±13.16%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='percent' withBase='true'                                      4.25 %       ±4.84%  ±6.45%  ±8.41%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='short' withBase='false'                                      -0.03 %       ±7.11%  ±9.46% ±12.31%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='short' withBase='true'                                       -0.91 %       ±4.26%  ±5.67%  ±7.39%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='wpt' withBase='false'                                        -1.57 %       ±7.20%  ±9.60% ±12.53%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='wpt' withBase='true'                                         -3.92 %       ±6.64%  ±8.84% ±11.51%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='ws' withBase='false'                                         -4.15 %       ±6.69%  ±8.91% ±11.60%
url/legacy-vs-whatwg-url-parse.js method='whatwg' e=1 type='ws' withBase='true'                                          -0.58 %       ±4.61%  ±6.14%  ±8.01%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='altspaces'                         -0.17 %       ±3.70%  ±4.93%  ±6.43%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodefake'                         1.72 %       ±1.90%  ±2.53%  ±3.29%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodelast'                        -1.66 %       ±4.93%  ±6.56%  ±8.55%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='encodemany'                         1.78 %       ±2.20%  ±2.93%  ±3.81%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manyblankpairs'                    -1.41 %       ±2.72%  ±3.63%  ±4.73%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='manypairs'                          2.38 %       ±3.17%  ±4.25%  ±5.62%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multicharsep'                       2.33 %       ±2.87%  ±3.84%  ±5.04%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivalue'                         1.14 %       ±1.42%  ±1.89%  ±2.46%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='multivaluemany'                    -2.58 %       ±2.90%  ±3.89%  ±5.15%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='legacy' searchParam='noencode'                    *      4.11 %       ±3.54%  ±4.72%  ±6.15%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='altspaces'                         -1.43 %       ±4.63%  ±6.16%  ±8.01%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodefake'                        -1.08 %       ±8.17% ±10.88% ±14.17%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodelast'                         0.92 %       ±2.48%  ±3.30%  ±4.30%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='encodemany'                         2.35 %       ±4.48%  ±5.96%  ±7.77%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manyblankpairs'                     0.63 %       ±2.54%  ±3.38%  ±4.40%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='manypairs'                          1.52 %       ±4.15%  ±5.53%  ±7.22%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multicharsep'                      -1.38 %       ±6.73%  ±8.97% ±11.70%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivalue'                         1.67 %       ±4.44%  ±5.98%  ±7.93%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='multivaluemany'                    -0.76 %       ±2.86%  ±3.81%  ±4.97%
url/legacy-vs-whatwg-url-searchparams-parse.js n=1000000 method='whatwg' searchParam='noencode'                           1.14 %       ±5.03%  ±6.69%  ±8.71%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='altspaces'                     -1.74 %       ±3.99%  ±5.35%  ±7.04%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodefake'                     2.56 %       ±2.97%  ±3.95%  ±5.15%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodelast'                     0.99 %       ±3.07%  ±4.13%  ±5.45%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='encodemany'                     0.59 %       ±6.11%  ±8.12% ±10.58%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manyblankpairs'                 6.94 %      ±11.51% ±15.35% ±20.07%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='manypairs'                      1.72 %       ±2.32%  ±3.09%  ±4.02%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multicharsep'                  -0.06 %       ±5.40%  ±7.22%  ±9.46%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivalue'                    -1.45 %       ±2.01%  ±2.69%  ±3.53%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='multivaluemany'                 0.51 %       ±1.83%  ±2.43%  ±3.16%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='legacy' searchParam='noencode'                      -0.61 %       ±5.81%  ±7.73% ±10.08%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='altspaces'                     -3.03 %       ±6.13%  ±8.19% ±10.74%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodefake'                    -4.05 %       ±7.17%  ±9.57% ±12.52%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodelast'                     0.49 %       ±1.01%  ±1.35%  ±1.76%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='encodemany'                     0.13 %       ±1.69%  ±2.25%  ±2.94%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manyblankpairs'                -4.75 %       ±6.18%  ±8.27% ±10.84%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='manypairs'                     -1.11 %       ±2.82%  ±3.75%  ±4.89%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multicharsep'                   5.11 %       ±6.60%  ±8.89% ±11.79%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivalue'                     1.05 %       ±5.50%  ±7.33%  ±9.57%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='multivaluemany'                 2.70 %       ±3.78%  ±5.06%  ±6.63%
url/legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method='whatwg' searchParam='noencode'                       1.01 %       ±2.23%  ±2.99%  ±3.94%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='auth'                                                    -0.36 %       ±7.05%  ±9.41% ±12.30%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='dot'                                                      0.62 %       ±4.43%  ±5.90%  ±7.69%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='file'                                                    -0.16 %       ±6.01%  ±8.01% ±10.43%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='idn'                                                      1.45 %       ±7.41%  ±9.87% ±12.84%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='javascript'                                               3.19 %       ±4.99%  ±6.64%  ±8.64%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='long'                                                     1.01 %       ±4.39%  ±5.84%  ±7.60%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='percent'                                                  0.26 %       ±6.46%  ±8.59% ±11.19%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='short'                                                   -2.42 %       ±7.04%  ±9.37% ±12.20%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='wpt'                                                      0.62 %       ±4.51%  ±6.02%  ±7.86%
url/legacy-vs-whatwg-url-serialize.js e=1 method='legacy' type='ws'                                                      -1.53 %       ±6.82%  ±9.08% ±11.84%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='auth'                                                     5.53 %       ±6.93%  ±9.22% ±12.00%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='dot'                                                      1.95 %       ±6.63%  ±8.82% ±11.48%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='file'                                              *     -6.77 %       ±6.49%  ±8.64% ±11.25%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='idn'                                                      1.10 %       ±7.91% ±10.52% ±13.70%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='javascript'                                              -0.58 %       ±6.31%  ±8.41% ±10.98%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='long'                                                    -0.40 %       ±6.94%  ±9.24% ±12.03%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='percent'                                                 -2.62 %       ±7.06%  ±9.42% ±12.31%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='short'                                                    2.73 %       ±7.81% ±10.39% ±13.53%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='wpt'                                                     -0.96 %       ±3.31%  ±4.40%  ±5.73%
url/legacy-vs-whatwg-url-serialize.js e=1 method='whatwg' type='ws'                                                       3.28 %       ±6.63%  ±8.86% ±11.59%
url/url-format.js n=25000000 type='file'                                                                                 -0.12 %       ±2.85%  ±3.80%  ±4.96%
url/url-format.js n=25000000 type='slashes'                                                                               0.02 %       ±0.95%  ±1.27%  ±1.65%
url/url-parse.js n=10000000 type='escaped'                                                                         *      2.00 %       ±1.87%  ±2.49%  ±3.23%
url/url-parse.js n=10000000 type='normal'                                                                                -1.74 %       ±2.17%  ±2.88%  ±3.76%
url/url-resolve.js n=100000 path='down' href='auth'                                                                       0.81 %       ±4.83%  ±6.43%  ±8.37%
url/url-resolve.js n=100000 path='down' href='dot'                                                                       -0.69 %       ±2.53%  ±3.36%  ±4.38%
url/url-resolve.js n=100000 path='down' href='file'                                                                      -2.37 %       ±3.48%  ±4.66%  ±6.12%
url/url-resolve.js n=100000 path='down' href='idn'                                                                        3.75 %       ±4.65%  ±6.21%  ±8.12%
url/url-resolve.js n=100000 path='down' href='javascript'                                                                -0.72 %       ±1.50%  ±1.99%  ±2.59%
url/url-resolve.js n=100000 path='down' href='long'                                                                      -1.31 %       ±4.67%  ±6.21%  ±8.09%
url/url-resolve.js n=100000 path='down' href='noscheme'                                                                  -0.37 %       ±5.94%  ±7.91% ±10.29%
url/url-resolve.js n=100000 path='down' href='percent'                                                             *     -3.47 %       ±3.38%  ±4.52%  ±5.91%
url/url-resolve.js n=100000 path='down' href='short'                                                                     -3.21 %       ±5.80%  ±7.80% ±10.31%
url/url-resolve.js n=100000 path='down' href='ws'                                                                        -0.98 %       ±3.31%  ±4.41%  ±5.77%
url/url-resolve.js n=100000 path='foo/bar' href='auth'                                                                   -2.36 %       ±7.41%  ±9.88% ±12.88%
url/url-resolve.js n=100000 path='foo/bar' href='dot'                                                                     5.56 %       ±6.85%  ±9.20% ±12.14%
url/url-resolve.js n=100000 path='foo/bar' href='file'                                                                   -0.60 %       ±7.23%  ±9.62% ±12.52%
url/url-resolve.js n=100000 path='foo/bar' href='idn'                                                              *      6.84 %       ±6.20%  ±8.33% ±11.00%
url/url-resolve.js n=100000 path='foo/bar' href='javascript'                                                              0.63 %       ±2.90%  ±3.86%  ±5.03%
url/url-resolve.js n=100000 path='foo/bar' href='long'                                                                   -2.95 %       ±3.50%  ±4.67%  ±6.11%
url/url-resolve.js n=100000 path='foo/bar' href='noscheme'                                                               -1.04 %       ±2.48%  ±3.30%  ±4.31%
url/url-resolve.js n=100000 path='foo/bar' href='percent'                                                                 1.20 %       ±1.58%  ±2.11%  ±2.76%
url/url-resolve.js n=100000 path='foo/bar' href='short'                                                                   6.21 %       ±6.55%  ±8.80% ±11.62%
url/url-resolve.js n=100000 path='foo/bar' href='ws'                                                                     -0.42 %       ±5.46%  ±7.28%  ±9.50%
url/url-resolve.js n=100000 path='sibling' href='auth'                                                                    0.37 %       ±3.24%  ±4.32%  ±5.65%
url/url-resolve.js n=100000 path='sibling' href='dot'                                                                    -2.95 %       ±4.58%  ±6.14%  ±8.09%
url/url-resolve.js n=100000 path='sibling' href='file'                                                                    3.29 %       ±5.13%  ±6.88%  ±9.08%
url/url-resolve.js n=100000 path='sibling' href='idn'                                                                    -1.37 %       ±5.38%  ±7.16%  ±9.33%
url/url-resolve.js n=100000 path='sibling' href='javascript'                                                             -1.11 %       ±4.50%  ±6.05%  ±8.00%
url/url-resolve.js n=100000 path='sibling' href='long'                                                                    0.17 %       ±3.10%  ±4.13%  ±5.37%
url/url-resolve.js n=100000 path='sibling' href='noscheme'                                                               -0.13 %       ±1.93%  ±2.57%  ±3.36%
url/url-resolve.js n=100000 path='sibling' href='percent'                                                                 1.22 %       ±1.98%  ±2.64%  ±3.44%
url/url-resolve.js n=100000 path='sibling' href='short'                                                                   2.08 %       ±4.01%  ±5.38%  ±7.08%
url/url-resolve.js n=100000 path='sibling' href='ws'                                                                     -0.03 %       ±3.86%  ±5.16%  ±6.76%
url/url-resolve.js n=100000 path='up' href='auth'                                                                        -0.37 %       ±5.93%  ±7.89% ±10.28%
url/url-resolve.js n=100000 path='up' href='dot'                                                                         -0.82 %       ±2.29%  ±3.04%  ±3.96%
url/url-resolve.js n=100000 path='up' href='file'                                                                        -0.53 %       ±5.38%  ±7.22%  ±9.53%
url/url-resolve.js n=100000 path='up' href='idn'                                                                          3.21 %       ±4.26%  ±5.69%  ±7.44%
url/url-resolve.js n=100000 path='up' href='javascript'                                                                  -4.43 %       ±5.22%  ±6.98%  ±9.15%
url/url-resolve.js n=100000 path='up' href='long'                                                                         0.35 %       ±1.47%  ±1.96%  ±2.55%
url/url-resolve.js n=100000 path='up' href='noscheme'                                                                     1.32 %       ±7.28%  ±9.71% ±12.68%
url/url-resolve.js n=100000 path='up' href='percent'                                                                      0.89 %       ±2.28%  ±3.05%  ±4.00%
url/url-resolve.js n=100000 path='up' href='short'                                                                        3.08 %       ±6.08%  ±8.14% ±10.70%
url/url-resolve.js n=100000 path='up' href='ws'                                                                           0.90 %       ±4.86%  ±6.51%  ±8.57%
url/url-resolve.js n=100000 path='withscheme' href='auth'                                                                -1.66 %       ±5.44%  ±7.26%  ±9.49%
url/url-resolve.js n=100000 path='withscheme' href='dot'                                                                  2.28 %       ±7.31%  ±9.74% ±12.71%
url/url-resolve.js n=100000 path='withscheme' href='file'                                                                 1.26 %       ±1.65%  ±2.20%  ±2.88%
url/url-resolve.js n=100000 path='withscheme' href='idn'                                                                  2.87 %       ±5.63%  ±7.56%  ±9.97%
url/url-resolve.js n=100000 path='withscheme' href='javascript'                                                    *      2.99 %       ±2.82%  ±3.77%  ±4.94%
url/url-resolve.js n=100000 path='withscheme' href='long'                                                                -2.21 %       ±3.29%  ±4.39%  ±5.74%
url/url-resolve.js n=100000 path='withscheme' href='noscheme'                                                            -0.74 %       ±3.87%  ±5.20%  ±6.87%
url/url-resolve.js n=100000 path='withscheme' href='percent'                                                              3.62 %       ±4.04%  ±5.42%  ±7.16%
url/url-resolve.js n=100000 path='withscheme' href='short'                                                               -2.19 %       ±6.02%  ±8.06% ±10.59%
url/url-resolve.js n=100000 path='withscheme' href='ws'                                                                  -0.12 %       ±7.74% ±10.29% ±13.40%
url/url-searchparams-iteration.js n=1000000 loopMethod='forEach'                                                          1.12 %       ±3.53%  ±4.70%  ±6.12%
url/url-searchparams-iteration.js n=1000000 loopMethod='iterator'                                                        -1.57 %       ±2.28%  ±3.03%  ±3.95%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='get'                                            1.44 %       ±3.63%  ±4.84%  ±6.31%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='getAll'                                         0.63 %       ±1.82%  ±2.44%  ±3.20%
url/url-searchparams-read.js n=20000000 param='nonexistent' accessMethod='has'                                           -0.81 %       ±2.64%  ±3.53%  ±4.62%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='get'                                                    2.35 %       ±4.56%  ±6.09%  ±7.95%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='getAll'                                                -0.03 %       ±2.02%  ±2.69%  ±3.51%
url/url-searchparams-read.js n=20000000 param='one' accessMethod='has'                                            **     -4.29 %       ±2.82%  ±3.78%  ±4.96%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='get'                                                  0.55 %       ±1.62%  ±2.15%  ±2.81%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='getAll'                                               0.58 %       ±1.94%  ±2.58%  ±3.36%
url/url-searchparams-read.js n=20000000 param='three' accessMethod='has'                                                  0.46 %       ±3.18%  ±4.23%  ±5.51%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='get'                                                   -3.01 %       ±4.09%  ±5.45%  ±7.11%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='getAll'                                                 0.33 %       ±2.37%  ±3.16%  ±4.13%
url/url-searchparams-read.js n=20000000 param='two' accessMethod='has'                                                    1.22 %       ±4.73%  ±6.30%  ±8.22%
url/url-searchparams-sort.js n=1000000 type='almostsorted'                                                               -0.93 %       ±4.74%  ±6.32%  ±8.24%
url/url-searchparams-sort.js n=1000000 type='empty'                                                                *      4.75 %       ±4.59%  ±6.12%  ±8.00%
url/url-searchparams-sort.js n=1000000 type='long'                                                                       -0.16 %       ±0.73%  ±0.98%  ±1.28%
url/url-searchparams-sort.js n=1000000 type='random'                                                                     -0.22 %       ±1.49%  ±1.98%  ±2.59%
url/url-searchparams-sort.js n=1000000 type='reversed'                                                                    0.93 %       ±1.93%  ±2.60%  ±3.45%
url/url-searchparams-sort.js n=1000000 type='short'                                                                       5.05 %       ±6.16%  ±8.28% ±10.96%
url/url-searchparams-sort.js n=1000000 type='sorted'                                                                      0.08 %       ±1.01%  ±1.34%  ±1.75%
url/url-searchparams-sort.js n=1000000 type='wpt'                                                                        -2.54 %       ±5.62%  ±7.47%  ±9.73%
url/usvstring.js n=50000000 input='allinvalid'                                                                           -0.61 %       ±1.38%  ±1.85%  ±2.45%
url/usvstring.js n=50000000 input='nonstring'                                                                            -0.03 %       ±1.38%  ±1.84%  ±2.40%
url/usvstring.js n=50000000 input='someinvalid'                                                                           1.77 %       ±1.83%  ±2.46%  ±3.25%
url/usvstring.js n=50000000 input='valid'                                                                                 1.13 %       ±1.42%  ±1.90%  ±2.50%
url/usvstring.js n=50000000 input='validsurr'                                                                             0.37 %       ±1.29%  ±1.73%  ±2.27%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='all'                                                                 -1.49 %       ±2.08%  ±2.77%  ±3.62%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='empty'                                                               -2.11 %       ±3.03%  ±4.05%  ±5.32%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='none'                                                                -1.41 %       ±2.14%  ±2.85%  ±3.71%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='nonstring'                                                           -1.14 %       ±5.18%  ±6.89%  ±8.97%
url/whatwg-url-idna.js n=5000000 to='ascii' domain='some'                                                                 0.43 %       ±2.15%  ±2.87%  ±3.74%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='all'                                                               -0.72 %       ±1.37%  ±1.82%  ±2.37%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='empty'                                                              0.89 %       ±1.81%  ±2.41%  ±3.15%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='none'                                                               0.77 %       ±1.96%  ±2.61%  ±3.40%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='nonstring'                                                         -0.79 %       ±5.62%  ±7.48%  ±9.74%
url/whatwg-url-idna.js n=5000000 to='unicode' domain='some'                                                              -0.38 %       ±1.55%  ±2.07%  ±2.70%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='false'                                           *     -6.79 %       ±6.28%  ±8.36% ±10.89%
url/whatwg-url-properties.js prop='hash' e=1 type='wpt' withBase='true'                                            *      6.72 %       ±5.68%  ±7.58%  ±9.92%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='false'                                                 -0.53 %       ±7.70% ±10.25% ±13.37%
url/whatwg-url-properties.js prop='host' e=1 type='wpt' withBase='true'                                                  -2.24 %       ±6.04%  ±8.04% ±10.47%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='false'                                              3.88 %       ±6.85%  ±9.12% ±11.87%
url/whatwg-url-properties.js prop='hostname' e=1 type='wpt' withBase='true'                                               0.85 %       ±7.39%  ±9.86% ±12.87%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='false'                                                 -5.92 %       ±6.16%  ±8.21% ±10.70%
url/whatwg-url-properties.js prop='href' e=1 type='wpt' withBase='true'                                                   0.66 %       ±6.98%  ±9.30% ±12.11%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='false'                                               -2.08 %       ±9.29% ±12.36% ±16.09%
url/whatwg-url-properties.js prop='origin' e=1 type='wpt' withBase='true'                                                 0.78 %       ±7.46%  ±9.94% ±12.94%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='false'                                             -5.54 %       ±6.95%  ±9.25% ±12.04%
url/whatwg-url-properties.js prop='password' e=1 type='wpt' withBase='true'                                        *      8.71 %       ±7.65% ±10.19% ±13.31%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='false'                                              1.02 %       ±8.06% ±10.73% ±13.98%
url/whatwg-url-properties.js prop='pathname' e=1 type='wpt' withBase='true'                                              -1.64 %       ±6.52%  ±8.68% ±11.29%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='false'                                                 -6.99 %       ±7.86% ±10.46% ±13.62%
url/whatwg-url-properties.js prop='port' e=1 type='wpt' withBase='true'                                                  -5.08 %       ±7.28%  ±9.75% ±12.81%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='false'                                             -3.98 %       ±7.43%  ±9.91% ±12.94%
url/whatwg-url-properties.js prop='protocol' e=1 type='wpt' withBase='true'                                        *    -11.33 %      ±10.43% ±13.93% ±18.23%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='false'                                               -2.84 %       ±7.94% ±10.59% ±13.84%
url/whatwg-url-properties.js prop='search' e=1 type='wpt' withBase='true'                                                -2.47 %       ±8.68% ±11.55% ±15.03%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='false'                                   *     -8.51 %       ±6.84%  ±9.14% ±11.96%
url/whatwg-url-properties.js prop='searchParams' e=1 type='wpt' withBase='true'                                          -2.59 %       ±8.89% ±11.82% ±15.39%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='false'                                              2.40 %       ±8.99% ±11.96% ±15.57%
url/whatwg-url-properties.js prop='username' e=1 type='wpt' withBase='true'                                               0.61 %       ±7.97% ±10.61% ±13.81%

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 (***)
++ mv output161122-215149.csv /w/bnch-comp

Copy link
Member

@Trott Trott left a comment

Choose a reason for hiding this comment

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

LGTM if CI passes.

@anonrig anonrig added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels Nov 16, 2022
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Nov 16, 2022
@nodejs-github-bot
Copy link
Collaborator

@lpinca lpinca added the fast-track PRs that do not need to wait for 48 hours to land. label Nov 17, 2022
@github-actions
Copy link
Contributor

Fast-track has been requested by @lpinca. Please 👍 to approve.

@anonrig anonrig added the commit-queue Add this label to land a pull request using GitHub Actions. label Nov 17, 2022
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Nov 17, 2022
@nodejs-github-bot nodejs-github-bot merged commit d2b1655 into nodejs:main Nov 17, 2022
@nodejs-github-bot
Copy link
Collaborator

Landed in d2b1655

ruyadorno pushed a commit that referenced this pull request Nov 21, 2022
PR-URL: #45492
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
marco-ippolito pushed a commit to marco-ippolito/node that referenced this pull request Nov 23, 2022
PR-URL: nodejs#45492
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
@ruyadorno ruyadorno mentioned this pull request Nov 24, 2022
danielleadams pushed a commit that referenced this pull request Dec 30, 2022
PR-URL: #45492
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
danielleadams pushed a commit that referenced this pull request Dec 30, 2022
PR-URL: #45492
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
danielleadams pushed a commit that referenced this pull request Jan 3, 2023
PR-URL: #45492
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
danielleadams pushed a commit that referenced this pull request Jan 4, 2023
PR-URL: #45492
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
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. fast-track PRs that do not need to wait for 48 hours to land. needs-ci PRs that need a full CI run. 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