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

querystring: refactor to use more primordials #36315

Closed
wants to merge 1 commit into from

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

@nodejs-github-bot nodejs-github-bot added the querystring Issues and PRs related to the built-in querystring module. label Nov 29, 2020
@aduh95 aduh95 added the needs-benchmark-ci PR that need a benchmark CI run. label Nov 29, 2020
@aduh95
Copy link
Contributor Author

aduh95 commented Nov 30, 2020

Benchmark CI didn't show any perf regression or improvement

                                                                                                                                      confidence improvement accuracy (*)    (**)   (***)
querystring/querystring-parse.js n=1000000 type='altspaces'                                                                                          -0.48 %       ±2.32%  ±3.09%  ±4.02%
querystring/querystring-parse.js n=1000000 type='encodefake'                                                                                          0.49 %       ±0.67%  ±0.89%  ±1.16%
querystring/querystring-parse.js n=1000000 type='encodelast'                                                                                          0.09 %       ±0.70%  ±0.93%  ±1.22%
querystring/querystring-parse.js n=1000000 type='encodemany'                                                                                          2.09 %       ±2.39%  ±3.21%  ±4.24%
querystring/querystring-parse.js n=1000000 type='manyblankpairs'                                                                                     -3.94 %       ±4.28%  ±5.76%  ±7.65%
querystring/querystring-parse.js n=1000000 type='manypairs'                                                                                          -2.61 %       ±3.11%  ±4.18%  ±5.53%
querystring/querystring-parse.js n=1000000 type='multicharsep'                                                                                        0.23 %       ±1.76%  ±2.36%  ±3.12%
querystring/querystring-parse.js n=1000000 type='multivalue'                                                                                          0.43 %       ±0.86%  ±1.16%  ±1.51%
querystring/querystring-parse.js n=1000000 type='multivaluemany'                                                                                      0.10 %       ±0.75%  ±1.00%  ±1.30%
querystring/querystring-parse.js n=1000000 type='noencode'                                                                                           -0.03 %       ±0.98%  ±1.31%  ±1.71%
querystring/querystring-stringify.js n=1000000 type='array'                                                                                           2.42 %       ±3.95%  ±5.32%  ±7.04%
querystring/querystring-stringify.js n=1000000 type='encodelast'                                                                                      4.22 %       ±6.96%  ±9.32% ±12.27%
querystring/querystring-stringify.js n=1000000 type='encodemany'                                                                                      1.16 %       ±2.13%  ±2.84%  ±3.72%
querystring/querystring-stringify.js n=1000000 type='multiprimitives'                                                                                 0.72 %       ±2.59%  ±3.47%  ±4.57%
querystring/querystring-stringify.js n=1000000 type='noencode'                                                                                       -1.08 %       ±1.76%  ±2.35%  ±3.06%
querystring/querystring-unescapebuffer.js n=10000000 input='%20%21%22%23%24%25%26%27%28%29%2A%2B%2C%2D%2E%2F%30%31%32%33%34%35%36%37'                 6.40 %      ±13.12% ±17.46% ±22.73%
querystring/querystring-unescapebuffer.js n=10000000 input='there%20are%20several%20spaces%20that%20need%20to%20be%20unescaped'                *    -11.11 %      ±10.44% ±13.90% ±18.10%
querystring/querystring-unescapebuffer.js n=10000000 input='there%2Qare%0-fake%escaped values in%%%%this%9Hstring'                                   -1.54 %      ±12.81% ±17.04% ±22.18%
querystring/querystring-unescapebuffer.js n=10000000 input='there is nothing to unescape here'                                                       -2.51 %      ±12.72% ±16.92% ±22.02%

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

@aduh95 aduh95 added request-ci Add this label to start a Jenkins CI on a PR. and removed needs-benchmark-ci PR that need a benchmark CI run. labels Nov 30, 2020
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Nov 30, 2020
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Nov 30, 2020

@aduh95 aduh95 added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Dec 1, 2020
PR-URL: nodejs#36315
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
@Trott
Copy link
Member

Trott commented Dec 3, 2020

Landed in a897a25

@Trott Trott closed this Dec 3, 2020
@aduh95 aduh95 deleted the querystring-primordials branch December 3, 2020 17:27
danielleadams pushed a commit that referenced this pull request Dec 7, 2020
PR-URL: #36315
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
@danielleadams danielleadams mentioned this pull request Dec 7, 2020
cjihrig pushed a commit to cjihrig/node that referenced this pull request Dec 8, 2020
PR-URL: nodejs#36315
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
targos pushed a commit that referenced this pull request May 16, 2021
PR-URL: #36315
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
targos pushed a commit that referenced this pull request Jun 11, 2021
PR-URL: #36315
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
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. querystring Issues and PRs related to the built-in querystring module.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants