FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

http: add `__proto__` null by rluvaton · Pull Request #48662 · nodejs/node · GitHub

/ node Public

http: add __proto__ null - #48662

Closed
rluvaton wants to merge 4 commits into
nodejs:mainfrom
rluvaton:add-proto-null-to-http
Closed

http: add __proto__ null#48662
rluvaton wants to merge 4 commits into
nodejs:mainfrom
rluvaton:add-proto-null-to-http

Conversation

rluvaton commented Jul 5, 2023

Copy link
Copy Markdown
Member

extracted from:

TODO:

  • Run CITGM
  • mark as a major change

reference: #48646 (comment)

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/http
  • @nodejs/net

nodejs-github-bot added lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Jul 5, 2023

lpinca commented Jul 5, 2023

Copy link
Copy Markdown
Member

Did you run any benchmark?

rluvaton commented Jul 5, 2023

Copy link
Copy Markdown
Member Author

Did you run any benchmark?

nope, can you trigger the benchmarks? (there is a CI for that, no? as running on my local machine is not representative)

I also wanna know how much did I break the eco system, can you run the CITGM for me please

lpinca commented Jul 5, 2023
edited
Loading

Copy link
Copy Markdown
Member

mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

lgtm

mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

It seem this is significantly decreasing performance across the board, so maybe there are a few problems.

lpinca commented Jul 6, 2023

Copy link
Copy Markdown
Member
                                                                                                  confidence improvement accuracy (*)    (**)   (***)
http/bench-parser.js n=100000 len=16                                                                              2.02 %       ±3.81%  ±5.07%  ±6.59%
http/bench-parser.js n=100000 len=32                                                                             -0.63 %       ±2.22%  ±2.95%  ±3.84%
http/bench-parser.js n=100000 len=4                                                                              -1.76 %       ±4.45%  ±5.93%  ±7.72%
http/bench-parser.js n=100000 len=8                                                                              -2.69 %       ±5.03%  ±6.71%  ±8.75%
http/check_invalid_header_char.js n=1000000 input=''                                                              0.81 %       ±5.18%  ±6.90%  ±8.98%
http/check_invalid_header_char.js n=1000000 input='\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFoo bar baz'                     5.52 %       ±9.89% ±13.17% ±17.16%
http/check_invalid_header_char.js n=1000000 input='\\x7F'                                                        -1.62 %       ±9.84% ±13.09% ±17.04%
http/check_invalid_header_char.js n=1000000 input='1'                                                             2.25 %       ±6.95%  ±9.26% ±12.07%
http/check_invalid_header_char.js n=1000000 input='20091'                                                         0.72 %       ±6.85%  ±9.11% ±11.86%
http/check_invalid_header_char.js n=1000000 input='close'                                                         1.00 %       ±8.34% ±11.09% ±14.44%
http/check_invalid_header_char.js n=1000000 input='en-US'                                                  *     -9.14 %       ±7.55% ±10.11% ±13.29%
http/check_invalid_header_char.js n=1000000 input='foo\\nbar'                                                    -4.39 %       ±8.86% ±11.80% ±15.37%
http/check_invalid_header_char.js n=1000000 input='group_acmeair'                                                 0.01 %       ±9.99% ±13.29% ±17.29%
http/check_invalid_header_char.js n=1000000 input='gzip'                                                          0.91 %       ±7.91% ±10.52% ±13.70%
http/check_invalid_header_char.js n=1000000 input='keep-alive'                                                    2.20 %       ±6.93%  ±9.22% ±12.00%
http/check_invalid_header_char.js n=1000000 input='LONG_AND_INVALID'                                             -1.94 %       ±8.05% ±10.71% ±13.95%
http/check_invalid_header_char.js n=1000000 input='private'                                                      -0.35 %       ±7.89% ±10.50% ±13.66%
http/check_invalid_header_char.js n=1000000 input='SAMEORIGIN'                                                   -7.99 %       ±9.28% ±12.37% ±16.12%
http/check_invalid_header_char.js n=1000000 input='Sat, 07 May 2016 16:54:48 GMT'                                -2.90 %       ±7.97% ±10.62% ±13.84%
http/check_invalid_header_char.js n=1000000 input='text/html; charset=utf-8'                                     -3.17 %       ±3.74%  ±5.01%  ±6.58%
http/check_invalid_header_char.js n=1000000 input='text/plain'                                                   -0.44 %       ±9.46% ±12.58% ±16.38%
http/check_invalid_header_char.js n=1000000 input='中文呢'                                                 *     10.29 %       ±9.75% ±12.99% ±16.97%
http/check_is_http_token.js n=1000000 key=':'                                                                    -0.05 %      ±10.72% ±14.26% ±18.56%
http/check_is_http_token.js n=1000000 key=':alternate-protocol'                                                  -6.37 %       ±9.72% ±12.94% ±16.84%
http/check_is_http_token.js n=1000000 key='((((())))'                                                            -5.98 %       ±9.81% ±13.05% ±16.99%
http/check_is_http_token.js n=1000000 key='@@'                                                             *     -9.25 %       ±8.44% ±11.23% ±14.63%
http/check_is_http_token.js n=1000000 key='Accept-Ranges'                                                         2.41 %      ±10.75% ±14.30% ±18.62%
http/check_is_http_token.js n=1000000 key='alt-svc'                                                       **    -15.36 %       ±9.18% ±12.23% ±15.94%
http/check_is_http_token.js n=1000000 key='alternate-protocol:'                                                   2.97 %      ±11.78% ±15.67% ±20.40%
http/check_is_http_token.js n=1000000 key='alternate-protocol'                                                    0.33 %       ±8.77% ±11.66% ±15.18%
http/check_is_http_token.js n=1000000 key='Cache-Control'                                                        -7.57 %       ±9.80% ±13.04% ±16.97%
http/check_is_http_token.js n=1000000 key='Connection'                                                           -4.38 %      ±10.46% ±13.92% ±18.12%
http/check_is_http_token.js n=1000000 key='Content-Encoding'                                                      6.64 %      ±10.58% ±14.08% ±18.32%
http/check_is_http_token.js n=1000000 key='content-length'                                                        7.51 %      ±10.59% ±14.10% ±18.35%
http/check_is_http_token.js n=1000000 key='Content-Location'                                                      0.85 %       ±9.66% ±12.85% ±16.73%
http/check_is_http_token.js n=1000000 key='content-type'                                                         -6.69 %      ±10.38% ±13.81% ±17.98%
http/check_is_http_token.js n=1000000 key='Content-Type'                                                          3.81 %      ±10.90% ±14.50% ±18.87%
http/check_is_http_token.js n=1000000 key='date'                                                                  4.00 %       ±8.37% ±11.14% ±14.52%
http/check_is_http_token.js n=1000000 key='ETag'                                                           *      8.35 %       ±7.08%  ±9.55% ±12.67%
http/check_is_http_token.js n=1000000 key='Expires'                                                               4.64 %      ±10.88% ±14.47% ±18.84%
http/check_is_http_token.js n=1000000 key='Keep-Alive'                                                           10.16 %      ±11.01% ±14.65% ±19.07%
http/check_is_http_token.js n=1000000 key='Last-Modified'                                                         6.82 %      ±11.31% ±15.04% ±19.58%
http/check_is_http_token.js n=1000000 key='location'                                                       *     11.80 %      ±10.43% ±13.89% ±18.11%
http/check_is_http_token.js n=1000000 key='server'                                                                4.48 %      ±10.19% ±13.56% ±17.65%
http/check_is_http_token.js n=1000000 key='Server'                                                               -0.27 %       ±9.15% ±12.18% ±15.85%
http/check_is_http_token.js n=1000000 key='status'                                                                8.10 %      ±10.87% ±14.47% ±18.84%
http/check_is_http_token.js n=1000000 key='TCN'                                                                   5.51 %       ±8.08% ±10.77% ±14.06%
http/check_is_http_token.js n=1000000 key='Transfer-Encoding'                                                     3.98 %       ±9.54% ±12.69% ±16.52%
http/check_is_http_token.js n=1000000 key='Vary'                                                                 -3.02 %       ±6.23%  ±8.32% ±10.89%
http/check_is_http_token.js n=1000000 key='version'                                                              -6.53 %      ±10.00% ±13.31% ±17.33%
http/check_is_http_token.js n=1000000 key='x-frame-options'                                                      -6.81 %       ±9.64% ±12.83% ±16.70%
http/check_is_http_token.js n=1000000 key='x-xss-protection'                                                     -0.53 %       ±9.47% ±12.60% ±16.40%
http/check_is_http_token.js n=1000000 key='中文呢'                                                                0.62 %      ±10.19% ±13.56% ±17.65%
http/chunked.js duration=5 c=100 len=1 n=1 benchmarker='wrk'                                             ***    -11.36 %       ±4.49%  ±5.98%  ±7.78%
http/chunked.js duration=5 c=100 len=1 n=16 benchmarker='wrk'                                                    -0.54 %       ±2.55%  ±3.40%  ±4.42%
http/chunked.js duration=5 c=100 len=1 n=4 benchmarker='wrk'                                                      0.11 %       ±1.55%  ±2.06%  ±2.69%
http/chunked.js duration=5 c=100 len=1 n=8 benchmarker='wrk'                                                     -0.58 %       ±2.15%  ±2.87%  ±3.73%
http/chunked.js duration=5 c=100 len=256 n=1 benchmarker='wrk'                                           ***    -11.86 %       ±4.29%  ±5.72%  ±7.45%
http/chunked.js duration=5 c=100 len=256 n=16 benchmarker='wrk'                                                  -1.64 %       ±1.94%  ±2.58%  ±3.36%
http/chunked.js duration=5 c=100 len=256 n=4 benchmarker='wrk'                                                   -0.98 %       ±1.15%  ±1.54%  ±2.01%
http/chunked.js duration=5 c=100 len=256 n=8 benchmarker='wrk'                                                   -0.06 %       ±1.96%  ±2.61%  ±3.40%
http/chunked.js duration=5 c=100 len=64 n=1 benchmarker='wrk'                                             **     -7.36 %       ±4.35%  ±5.79%  ±7.54%
http/chunked.js duration=5 c=100 len=64 n=16 benchmarker='wrk'                                                    0.37 %       ±2.04%  ±2.72%  ±3.54%
http/chunked.js duration=5 c=100 len=64 n=4 benchmarker='wrk'                                              *     -1.72 %       ±1.48%  ±1.98%  ±2.57%
http/chunked.js duration=5 c=100 len=64 n=8 benchmarker='wrk'                                                     0.83 %       ±1.95%  ±2.60%  ±3.38%
http/client-request-body.js method='end' len=1024 type='asc' dur=5                                       ***     -7.06 %       ±1.98%  ±2.63%  ±3.42%
http/client-request-body.js method='end' len=1024 type='buf' dur=5                                       ***     -7.97 %       ±2.08%  ±2.77%  ±3.62%
http/client-request-body.js method='end' len=1024 type='utf' dur=5                                       ***     -7.22 %       ±1.89%  ±2.52%  ±3.28%
http/client-request-body.js method='end' len=256 type='asc' dur=5                                        ***     -6.10 %       ±1.93%  ±2.56%  ±3.34%
http/client-request-body.js method='end' len=256 type='buf' dur=5                                        ***     -7.76 %       ±1.86%  ±2.47%  ±3.22%
http/client-request-body.js method='end' len=256 type='utf' dur=5                                        ***     -7.94 %       ±1.82%  ±2.43%  ±3.16%
http/client-request-body.js method='end' len=32 type='asc' dur=5                                         ***     -8.19 %       ±2.00%  ±2.66%  ±3.47%
http/client-request-body.js method='end' len=32 type='buf' dur=5                                         ***     -8.76 %       ±2.12%  ±2.83%  ±3.68%
http/client-request-body.js method='end' len=32 type='utf' dur=5                                         ***     -8.59 %       ±2.16%  ±2.88%  ±3.74%
http/client-request-body.js method='write' len=1024 type='asc' dur=5                                     ***     -7.70 %       ±1.66%  ±2.21%  ±2.88%
http/client-request-body.js method='write' len=1024 type='buf' dur=5                                     ***     -8.88 %       ±2.04%  ±2.71%  ±3.53%
http/client-request-body.js method='write' len=1024 type='utf' dur=5                                     ***     -7.36 %       ±1.69%  ±2.25%  ±2.93%
http/client-request-body.js method='write' len=256 type='asc' dur=5                                      ***     -6.69 %       ±1.66%  ±2.21%  ±2.89%
http/client-request-body.js method='write' len=256 type='buf' dur=5                                      ***     -7.46 %       ±1.63%  ±2.17%  ±2.83%
http/client-request-body.js method='write' len=256 type='utf' dur=5                                      ***     -7.01 %       ±2.02%  ±2.69%  ±3.50%
http/client-request-body.js method='write' len=32 type='asc' dur=5                                       ***     -7.21 %       ±2.09%  ±2.78%  ±3.62%
http/client-request-body.js method='write' len=32 type='buf' dur=5                                       ***     -6.86 %       ±1.89%  ±2.52%  ±3.28%
http/client-request-body.js method='write' len=32 type='utf' dur=5                                       ***     -5.89 %       ±2.06%  ±2.74%  ±3.57%
http/cluster.js duration=5 c=50 len=1024 type='buffer' benchmarker='wrk'                                 ***     -6.74 %       ±2.26%  ±3.01%  ±3.93%
http/cluster.js duration=5 c=50 len=1024 type='bytes' benchmarker='wrk'                                  ***     -7.95 %       ±1.85%  ±2.47%  ±3.22%
http/cluster.js duration=5 c=50 len=102400 type='buffer' benchmarker='wrk'                                       -2.67 %       ±3.31%  ±4.41%  ±5.74%
http/cluster.js duration=5 c=50 len=102400 type='bytes' benchmarker='wrk'                                ***     -4.14 %       ±1.15%  ±1.53%  ±1.99%
http/cluster.js duration=5 c=50 len=4 type='buffer' benchmarker='wrk'                                    ***     -7.64 %       ±2.35%  ±3.12%  ±4.07%
http/cluster.js duration=5 c=50 len=4 type='bytes' benchmarker='wrk'                                     ***     -6.69 %       ±2.20%  ±2.92%  ±3.80%
http/cluster.js duration=5 c=500 len=1024 type='buffer' benchmarker='wrk'                                ***     -5.88 %       ±2.71%  ±3.61%  ±4.71%
http/cluster.js duration=5 c=500 len=1024 type='bytes' benchmarker='wrk'                                 ***     -6.72 %       ±2.14%  ±2.85%  ±3.72%
http/cluster.js duration=5 c=500 len=102400 type='buffer' benchmarker='wrk'                              ***     -3.58 %       ±1.49%  ±1.98%  ±2.59%
http/cluster.js duration=5 c=500 len=102400 type='bytes' benchmarker='wrk'                               ***     -2.81 %       ±1.20%  ±1.60%  ±2.08%
http/cluster.js duration=5 c=500 len=4 type='buffer' benchmarker='wrk'                                   ***     -8.14 %       ±2.69%  ±3.58%  ±4.67%
http/cluster.js duration=5 c=500 len=4 type='bytes' benchmarker='wrk'                                    ***     -7.84 %       ±2.61%  ±3.47%  ±4.53%
http/create-clientrequest.js e=1 arg='options' url='idn'                                                         -1.34 %       ±2.75%  ±3.70%  ±4.88%
http/create-clientrequest.js e=1 arg='options' url='long'                                                ***     -4.60 %       ±2.20%  ±2.95%  ±3.88%
http/create-clientrequest.js e=1 arg='options' url='wpt'                                                  **     -5.74 %       ±4.01%  ±5.35%  ±6.99%
http/create-clientrequest.js e=1 arg='string' url='idn'                                                          -0.55 %       ±2.19%  ±2.92%  ±3.81%
http/create-clientrequest.js e=1 arg='string' url='long'                                                         -0.95 %       ±2.97%  ±3.98%  ±5.22%
http/create-clientrequest.js e=1 arg='string' url='wpt'                                                           1.28 %       ±2.35%  ±3.12%  ±4.06%
http/create-clientrequest.js e=1 arg='URL' url='idn'                                                      **      2.77 %       ±1.62%  ±2.15%  ±2.80%
http/create-clientrequest.js e=1 arg='URL' url='long'                                                            -0.66 %       ±1.64%  ±2.19%  ±2.85%
http/create-clientrequest.js e=1 arg='URL' url='wpt'                                                              1.40 %       ±3.48%  ±4.63%  ±6.03%
http/end-vs-write-end.js duration=5 method='end' c=100 len=1048576 type='asc' benchmarker='wrk'                  -0.73 %       ±1.32%  ±1.76%  ±2.30%
http/end-vs-write-end.js duration=5 method='end' c=100 len=1048576 type='buf' benchmarker='wrk'                  -0.37 %       ±1.22%  ±1.62%  ±2.11%
http/end-vs-write-end.js duration=5 method='end' c=100 len=1048576 type='utf' benchmarker='wrk'                  -0.60 %       ±0.73%  ±0.98%  ±1.27%
http/end-vs-write-end.js duration=5 method='end' c=100 len=131072 type='asc' benchmarker='wrk'                   -0.65 %       ±0.90%  ±1.19%  ±1.56%
http/end-vs-write-end.js duration=5 method='end' c=100 len=131072 type='buf' benchmarker='wrk'                   -1.87 %       ±1.92%  ±2.56%  ±3.35%
http/end-vs-write-end.js duration=5 method='end' c=100 len=131072 type='utf' benchmarker='wrk'             *     -1.31 %       ±1.26%  ±1.68%  ±2.18%
http/end-vs-write-end.js duration=5 method='end' c=100 len=262144 type='asc' benchmarker='wrk'                   -0.60 %       ±1.21%  ±1.62%  ±2.10%
http/end-vs-write-end.js duration=5 method='end' c=100 len=262144 type='buf' benchmarker='wrk'            **     -1.75 %       ±1.24%  ±1.65%  ±2.15%
http/end-vs-write-end.js duration=5 method='end' c=100 len=262144 type='utf' benchmarker='wrk'                    0.04 %       ±0.91%  ±1.21%  ±1.57%
http/end-vs-write-end.js duration=5 method='end' c=100 len=65536 type='asc' benchmarker='wrk'            ***     -2.74 %       ±1.31%  ±1.75%  ±2.27%
http/end-vs-write-end.js duration=5 method='end' c=100 len=65536 type='buf' benchmarker='wrk'            ***     -4.20 %       ±1.99%  ±2.65%  ±3.45%
http/end-vs-write-end.js duration=5 method='end' c=100 len=65536 type='utf' benchmarker='wrk'             **     -2.26 %       ±1.33%  ±1.77%  ±2.30%
http/end-vs-write-end.js duration=5 method='write' c=100 len=1048576 type='asc' benchmarker='wrk'                -0.05 %       ±1.07%  ±1.42%  ±1.85%
http/end-vs-write-end.js duration=5 method='write' c=100 len=1048576 type='buf' benchmarker='wrk'                 0.87 %       ±2.47%  ±3.31%  ±4.35%
http/end-vs-write-end.js duration=5 method='write' c=100 len=1048576 type='utf' benchmarker='wrk'                 0.16 %       ±1.14%  ±1.52%  ±1.99%
http/end-vs-write-end.js duration=5 method='write' c=100 len=131072 type='asc' benchmarker='wrk'          **     -1.73 %       ±1.28%  ±1.70%  ±2.22%
http/end-vs-write-end.js duration=5 method='write' c=100 len=131072 type='buf' benchmarker='wrk'         ***     -3.44 %       ±1.91%  ±2.54%  ±3.31%
http/end-vs-write-end.js duration=5 method='write' c=100 len=131072 type='utf' benchmarker='wrk'           *     -1.17 %       ±1.06%  ±1.41%  ±1.84%
http/end-vs-write-end.js duration=5 method='write' c=100 len=262144 type='asc' benchmarker='wrk'                 -0.26 %       ±1.42%  ±1.88%  ±2.45%
http/end-vs-write-end.js duration=5 method='write' c=100 len=262144 type='buf' benchmarker='wrk'           *     -1.83 %       ±1.47%  ±1.95%  ±2.54%
http/end-vs-write-end.js duration=5 method='write' c=100 len=262144 type='utf' benchmarker='wrk'                 -0.48 %       ±0.92%  ±1.23%  ±1.60%
http/end-vs-write-end.js duration=5 method='write' c=100 len=65536 type='asc' benchmarker='wrk'           **     -1.87 %       ±1.38%  ±1.84%  ±2.39%
http/end-vs-write-end.js duration=5 method='write' c=100 len=65536 type='buf' benchmarker='wrk'          ***     -5.04 %       ±2.03%  ±2.70%  ±3.52%
http/end-vs-write-end.js duration=5 method='write' c=100 len=65536 type='utf' benchmarker='wrk'                  -0.96 %       ±1.15%  ±1.53%  ±1.99%
http/headers.js duration=5 len=1 n=10 benchmarker='wrk'                                                  ***    -10.06 %       ±5.71%  ±7.61%  ±9.91%
http/headers.js duration=5 len=1 n=600 benchmarker='wrk'                                                 ***     -7.25 %       ±2.32%  ±3.10%  ±4.05%
http/headers.js duration=5 len=100 n=10 benchmarker='wrk'                                                 **     -7.12 %       ±5.03%  ±6.70%  ±8.72%
http/headers.js duration=5 len=100 n=600 benchmarker='wrk'                                               ***    -10.92 %       ±2.36%  ±3.15%  ±4.12%
http/http_server_for_chunky_client.js type='send' n=2000 len=1                                                    0.18 %       ±1.09%  ±1.45%  ±1.89%
http/http_server_for_chunky_client.js type='send' n=2000 len=128                                                 -0.80 %       ±1.52%  ±2.03%  ±2.65%
http/http_server_for_chunky_client.js type='send' n=2000 len=16                                                   0.00 %       ±1.19%  ±1.58%  ±2.06%
http/http_server_for_chunky_client.js type='send' n=2000 len=32                                                   0.18 %       ±1.90%  ±2.54%  ±3.32%
http/http_server_for_chunky_client.js type='send' n=2000 len=4                                                   -0.70 %       ±2.00%  ±2.67%  ±3.51%
http/http_server_for_chunky_client.js type='send' n=2000 len=64                                                  -1.60 %       ±2.03%  ±2.72%  ±3.59%
http/http_server_for_chunky_client.js type='send' n=2000 len=8                                                   -1.28 %       ±1.53%  ±2.04%  ±2.67%
http/http_server_for_chunky_client.js type='send' n=5 len=1                                                       2.85 %       ±5.44%  ±7.27%  ±9.51%
http/http_server_for_chunky_client.js type='send' n=5 len=128                                                    -1.82 %       ±7.25%  ±9.65% ±12.57%
http/http_server_for_chunky_client.js type='send' n=5 len=16                                                     -5.35 %       ±8.36% ±11.12% ±14.48%
http/http_server_for_chunky_client.js type='send' n=5 len=32                                                      1.96 %       ±8.15% ±10.84% ±14.11%
http/http_server_for_chunky_client.js type='send' n=5 len=4                                                      -2.97 %       ±7.75% ±10.32% ±13.43%
http/http_server_for_chunky_client.js type='send' n=5 len=64                                                     -6.34 %       ±7.99% ±10.63% ±13.83%
http/http_server_for_chunky_client.js type='send' n=5 len=8                                                      -2.72 %       ±8.54% ±11.37% ±14.79%
http/http_server_for_chunky_client.js type='send' n=50 len=1                                                     -1.86 %       ±5.20%  ±6.93%  ±9.03%
http/http_server_for_chunky_client.js type='send' n=50 len=128                                                    0.87 %       ±8.50% ±11.31% ±14.72%
http/http_server_for_chunky_client.js type='send' n=50 len=16                                                    -1.70 %       ±8.13% ±10.82% ±14.08%
http/http_server_for_chunky_client.js type='send' n=50 len=32                                                    -0.11 %       ±8.47% ±11.26% ±14.66%
http/http_server_for_chunky_client.js type='send' n=50 len=4                                                      4.89 %       ±8.18% ±10.89% ±14.17%
http/http_server_for_chunky_client.js type='send' n=50 len=64                                                    -4.99 %       ±7.82% ±10.41% ±13.55%
http/http_server_for_chunky_client.js type='send' n=50 len=8                                                      3.32 %       ±8.35% ±11.10% ±14.45%
http/http_server_for_chunky_client.js type='send' n=500 len=1                                                    -1.01 %       ±2.83%  ±3.77%  ±4.91%
http/http_server_for_chunky_client.js type='send' n=500 len=128                                                   0.27 %       ±2.28%  ±3.04%  ±3.95%
http/http_server_for_chunky_client.js type='send' n=500 len=16                                                   -1.10 %       ±2.58%  ±3.44%  ±4.49%
http/http_server_for_chunky_client.js type='send' n=500 len=32                                                    1.54 %       ±2.78%  ±3.70%  ±4.82%
http/http_server_for_chunky_client.js type='send' n=500 len=4                                                     0.46 %       ±3.31%  ±4.40%  ±5.73%
http/http_server_for_chunky_client.js type='send' n=500 len=64                                                   -0.80 %       ±2.25%  ±2.99%  ±3.90%
http/http_server_for_chunky_client.js type='send' n=500 len=8                                                     0.33 %       ±1.85%  ±2.46%  ±3.20%
http/incoming_headers.js duration=5 w=0 headers=20 connections=50 benchmarker='wrk'                      ***    -11.16 %       ±3.67%  ±4.88%  ±6.36%
http/incoming_headers.js duration=5 w=6 headers=20 connections=50 benchmarker='wrk'                      ***    -11.10 %       ±3.46%  ±4.61%  ±6.00%
http/set_header.js n=1000000 value='Connection'                                                                   1.35 %       ±3.89%  ±5.18%  ±6.75%
http/set_header.js n=1000000 value='Content-Length'                                                               0.87 %       ±3.54%  ±4.71%  ±6.14%
http/set_header.js n=1000000 value='Content-Type'                                                                 1.12 %       ±3.93%  ±5.23%  ±6.81%
http/set_header.js n=1000000 value='Set-Cookie'                                                                  -2.63 %       ±5.32%  ±7.08%  ±9.23%
http/set_header.js n=1000000 value='Transfer-Encoding'                                                            1.40 %       ±3.37%  ±4.49%  ±5.85%
http/set_header.js n=1000000 value='Vary'                                                                        -1.51 %       ±7.21%  ±9.59% ±12.48%
http/set_header.js n=1000000 value='X-Powered-By'                                                                 0.43 %       ±5.01%  ±6.67%  ±8.68%
http/set-header.js duration=5 res='normal' benchmarker='wrk'                                               *     -4.27 %       ±3.54%  ±4.72%  ±6.16%
http/set-header.js duration=5 res='setHeader' benchmarker='wrk'                                          ***     -5.88 %       ±2.91%  ±3.87%  ±5.05%
http/set-header.js duration=5 res='setHeaderWH' benchmarker='wrk'                                        ***     -5.71 %       ±3.20%  ±4.27%  ±5.57%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=1 len=1024 type='buffer' benchmarker='wrk'            ***     -8.25 %       ±2.55%  ±3.39%  ±4.41%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=1 len=1024 type='bytes' benchmarker='wrk'             ***     -6.72 %       ±2.88%  ±3.84%  ±5.01%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=1 len=102400 type='buffer' benchmarker='wrk'          ***     -4.97 %       ±1.89%  ±2.52%  ±3.28%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=1 len=102400 type='bytes' benchmarker='wrk'           ***     -2.74 %       ±1.33%  ±1.76%  ±2.30%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=1 len=4 type='buffer' benchmarker='wrk'               ***     -7.96 %       ±2.66%  ±3.53%  ±4.60%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=1 len=4 type='bytes' benchmarker='wrk'                 **     -5.02 %       ±3.19%  ±4.25%  ±5.55%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=4 len=1024 type='buffer' benchmarker='wrk'            ***     -6.36 %       ±2.61%  ±3.47%  ±4.53%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=4 len=1024 type='bytes' benchmarker='wrk'             ***     -4.71 %       ±2.39%  ±3.18%  ±4.14%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=4 len=102400 type='buffer' benchmarker='wrk'          ***     -5.71 %       ±2.41%  ±3.20%  ±4.17%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=4 len=102400 type='bytes' benchmarker='wrk'           ***     -4.11 %       ±1.64%  ±2.18%  ±2.85%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=4 len=4 type='buffer' benchmarker='wrk'               ***     -6.84 %       ±2.63%  ±3.51%  ±4.58%
http/simple.js duration=5 chunkedEnc=0 c=50 chunks=4 len=4 type='bytes' benchmarker='wrk'                ***     -8.06 %       ±2.64%  ±3.51%  ±4.57%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=1 len=1024 type='buffer' benchmarker='wrk'           ***     -9.88 %       ±2.00%  ±2.66%  ±3.46%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=1 len=1024 type='bytes' benchmarker='wrk'            ***     -5.70 %       ±2.76%  ±3.68%  ±4.80%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=1 len=102400 type='buffer' benchmarker='wrk'         ***     -3.87 %       ±1.77%  ±2.36%  ±3.07%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=1 len=102400 type='bytes' benchmarker='wrk'                  -1.11 %       ±1.88%  ±2.51%  ±3.27%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=1 len=4 type='buffer' benchmarker='wrk'              ***     -9.43 %       ±2.95%  ±3.92%  ±5.11%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=1 len=4 type='bytes' benchmarker='wrk'               ***     -6.58 %       ±3.37%  ±4.49%  ±5.85%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=4 len=1024 type='buffer' benchmarker='wrk'           ***     -7.79 %       ±2.47%  ±3.29%  ±4.29%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=4 len=1024 type='bytes' benchmarker='wrk'            ***     -6.39 %       ±2.68%  ±3.58%  ±4.68%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=4 len=102400 type='buffer' benchmarker='wrk'         ***     -3.76 %       ±1.91%  ±2.54%  ±3.31%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=4 len=102400 type='bytes' benchmarker='wrk'          ***     -3.56 %       ±1.52%  ±2.02%  ±2.64%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=4 len=4 type='buffer' benchmarker='wrk'              ***     -7.94 %       ±2.21%  ±2.94%  ±3.84%
http/simple.js duration=5 chunkedEnc=0 c=500 chunks=4 len=4 type='bytes' benchmarker='wrk'                **     -4.41 %       ±2.65%  ±3.54%  ±4.63%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=1 len=1024 type='buffer' benchmarker='wrk'             **     -4.90 %       ±2.94%  ±3.93%  ±5.13%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=1 len=1024 type='bytes' benchmarker='wrk'             ***     -7.05 %       ±3.10%  ±4.13%  ±5.38%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=1 len=102400 type='buffer' benchmarker='wrk'                  -1.58 %       ±2.34%  ±3.12%  ±4.08%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=1 len=102400 type='bytes' benchmarker='wrk'           ***     -3.24 %       ±1.36%  ±1.81%  ±2.36%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=1 len=4 type='buffer' benchmarker='wrk'                 *     -3.83 %       ±2.98%  ±3.96%  ±5.16%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=1 len=4 type='bytes' benchmarker='wrk'                ***     -7.89 %       ±3.27%  ±4.36%  ±5.69%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=4 len=1024 type='buffer' benchmarker='wrk'            ***     -6.07 %       ±2.29%  ±3.05%  ±3.97%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=4 len=1024 type='bytes' benchmarker='wrk'              **     -3.88 %       ±2.25%  ±3.00%  ±3.90%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=4 len=102400 type='buffer' benchmarker='wrk'           **     -3.09 %       ±1.91%  ±2.54%  ±3.31%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=4 len=102400 type='bytes' benchmarker='wrk'           ***     -2.45 %       ±1.36%  ±1.81%  ±2.35%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=4 len=4 type='buffer' benchmarker='wrk'               ***     -4.60 %       ±2.64%  ±3.51%  ±4.57%
http/simple.js duration=5 chunkedEnc=1 c=50 chunks=4 len=4 type='bytes' benchmarker='wrk'                ***     -6.07 %       ±1.92%  ±2.55%  ±3.32%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=1 len=1024 type='buffer' benchmarker='wrk'            **     -4.07 %       ±2.80%  ±3.73%  ±4.86%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=1 len=1024 type='bytes' benchmarker='wrk'            ***     -7.16 %       ±2.79%  ±3.71%  ±4.83%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=1 len=102400 type='buffer' benchmarker='wrk'          **     -3.33 %       ±1.96%  ±2.60%  ±3.39%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=1 len=102400 type='bytes' benchmarker='wrk'            *     -2.17 %       ±1.86%  ±2.48%  ±3.22%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=1 len=4 type='buffer' benchmarker='wrk'              ***     -7.43 %       ±2.89%  ±3.84%  ±5.00%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=1 len=4 type='bytes' benchmarker='wrk'               ***     -6.72 %       ±2.96%  ±3.94%  ±5.13%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=4 len=1024 type='buffer' benchmarker='wrk'           ***     -6.23 %       ±2.20%  ±2.93%  ±3.82%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=4 len=1024 type='bytes' benchmarker='wrk'            ***     -5.66 %       ±2.28%  ±3.03%  ±3.95%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=4 len=102400 type='buffer' benchmarker='wrk'          **     -3.32 %       ±1.98%  ±2.64%  ±3.44%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=4 len=102400 type='bytes' benchmarker='wrk'          ***     -3.88 %       ±1.67%  ±2.22%  ±2.89%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=4 len=4 type='buffer' benchmarker='wrk'              ***     -7.08 %       ±2.38%  ±3.17%  ±4.12%
http/simple.js duration=5 chunkedEnc=1 c=500 chunks=4 len=4 type='bytes' benchmarker='wrk'               ***     -6.21 %       ±2.18%  ±2.90%  ±3.78%
http/upgrade.js n=1000                                                                                           -1.42 %       ±3.13%  ±4.17%  ±5.42%
http/upgrade.js n=5                                                                                              -0.23 %       ±7.57% ±10.07% ±13.11%

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

anonrig commented Jul 6, 2023

Copy link
Copy Markdown
Member

The performance impact is not worth this change. I was going to request changes but since @mcollina did, there is no need. I recommend not merging this PR.

rluvaton commented Jul 6, 2023

Copy link
Copy Markdown
Member Author

closing due to performance implication

rluvaton closed this Jul 6, 2023
rluvaton deleted the add-proto-null-to-http branch July 6, 2023 22:21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants


Back | FazBrowse Home | New Git URL