lib: revert primordials in a hot path
As part of https://github.com/nodejs/node/issues/37937, I have been tracking all regressions that happened in the HTTP response hot path. I have strong evidence that a part of that is caused by the introduction of primordials through our codebase.
I recommend we stop "primordial" activities and we benchmark things extensively before adding them. Specifically there have been a few cases where PRs landed without benchamrks or without benchmarking the hot path where those are going to be used. Quite a few of those areas touched by this PR are extremely hot paths.
confidence improvement accuracy (*) (**) (***)
http/bench-parser.jsn=100000 len=16 0.10 % ±1.14% ±1.52% ±1.98%
http/bench-parser.jsn=100000 len=32 -0.17 % ±0.73% ±0.97% ±1.27%
http/bench-parser.jsn=100000 len=4 0.12 % ±0.82% ±1.09% ±1.42%
http/bench-parser.jsn=100000 len=8 0.49 % ±0.93% ±1.24% ±1.62%
http/check_invalid_header_char.jsn=1000000 input='' -0.16 % ±0.50% ±0.67% ±0.87%
http/check_invalid_header_char.jsn=1000000 input='\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFoo bar baz' 0.17 % ±0.57% ±0.76% ±1.00%
http/check_invalid_header_char.jsn=1000000 input='\\x7F' 0.34 % ±0.51% ±0.68% ±0.89%
http/check_invalid_header_char.jsn=1000000 input='1' 0.04 % ±0.54% ±0.71% ±0.93%
http/check_invalid_header_char.jsn=1000000 input='20091' * 0.56 % ±0.47% ±0.62% ±0.81%
http/check_invalid_header_char.jsn=1000000 input='close' ** 0.65 % ±0.44% ±0.59% ±0.76%
http/check_invalid_header_char.jsn=1000000 input='en-US' 0.22 % ±0.46% ±0.62% ±0.81%
http/check_invalid_header_char.jsn=1000000 input='foo\\nbar' 0.02 % ±0.46% ±0.61% ±0.80%
http/check_invalid_header_char.jsn=1000000 input='group_acmeair' -0.39 % ±0.59% ±0.78% ±1.03%
http/check_invalid_header_char.jsn=1000000 input='gzip' 0.37 % ±0.42% ±0.56% ±0.73%
http/check_invalid_header_char.jsn=1000000 input='keep-alive' 0.23 % ±0.42% ±0.55% ±0.72%
http/check_invalid_header_char.jsn=1000000 input='LONG_AND_INVALID' -0.08 % ±0.17% ±0.22% ±0.29%
http/check_invalid_header_char.jsn=1000000 input='private' 1.58 % ±2.31% ±3.08% ±4.02%
http/check_invalid_header_char.jsn=1000000 input='SAMEORIGIN' 1.61 % ±3.11% ±4.18% ±5.54%
http/check_invalid_header_char.jsn=1000000 input='Sat, 07 May 2016 16:54:48 GMT' -1.24 % ±1.65% ±2.20% ±2.87%
http/check_invalid_header_char.jsn=1000000 input='text/html; charset=utf-8' 2.21 % ±2.36% ±3.16% ±4.15%
http/check_invalid_header_char.jsn=1000000 input='text/plain' -1.17 % ±3.07% ±4.14% ±5.49%
http/check_invalid_header_char.jsn=1000000 input='中文呢' -0.08 % ±0.46% ±0.61% ±0.80%
http/check_is_http_token.jsn=1000000 key=':' -0.20 % ±0.53% ±0.70% ±0.92%
http/check_is_http_token.jsn=1000000 key=':alternate-protocol' ** 0.75 % ±0.46% ±0.61% ±0.79%
http/check_is_http_token.jsn=1000000 key='((((())))' 0.26 % ±0.55% ±0.73% ±0.95%
http/check_is_http_token.jsn=1000000 key='@@' 0.22 % ±0.48% ±0.64% ±0.83%
http/check_is_http_token.jsn=1000000 key='Accept-Ranges' 0.01 % ±0.37% ±0.50% ±0.65%
http/check_is_http_token.jsn=1000000 key='alt-svc' 0.08 % ±0.45% ±0.59% ±0.77%
http/check_is_http_token.jsn=1000000 key='alternate-protocol:' 0.25 % ±0.26% ±0.34% ±0.45%
http/check_is_http_token.jsn=1000000 key='alternate-protocol' 0.21 % ±0.31% ±0.41% ±0.53%
http/check_is_http_token.jsn=1000000 key='Cache-Control' 0.01 % ±0.42% ±0.56% ±0.73%
http/check_is_http_token.jsn=1000000 key='Connection' 0.21 % ±0.29% ±0.39% ±0.50%
http/check_is_http_token.jsn=1000000 key='Content-Encoding' 0.16 % ±0.42% ±0.55% ±0.72%
http/check_is_http_token.jsn=1000000 key='content-length' 0.22 % ±0.31% ±0.41% ±0.53%
http/check_is_http_token.jsn=1000000 key='Content-Location' 0.14 % ±0.35% ±0.47% ±0.61%
http/check_is_http_token.jsn=1000000 key='content-type' 0.13 % ±0.37% ±0.49% ±0.64%
http/check_is_http_token.jsn=1000000 key='Content-Type' 0.21 % ±0.34% ±0.46% ±0.59%
http/check_is_http_token.jsn=1000000 key='date' 0.07 % ±0.48% ±0.64% ±0.84%
http/check_is_http_token.jsn=1000000 key='ETag' 0.22 % ±0.40% ±0.53% ±0.70%
http/check_is_http_token.jsn=1000000 key='Expires' -0.20 % ±0.52% ±0.69% ±0.90%
http/check_is_http_token.jsn=1000000 key='Keep-Alive' -0.17 % ±0.32% ±0.42% ±0.55%
http/check_is_http_token.jsn=1000000 key='Last-Modified' 0.18 % ±0.37% ±0.49% ±0.64%
http/check_is_http_token.jsn=1000000 key='location' 0.01 % ±0.39% ±0.52% ±0.68%
http/check_is_http_token.jsn=1000000 key='server' 0.05 % ±0.57% ±0.75% ±0.98%
http/check_is_http_token.jsn=1000000 key='Server' -0.12 % ±0.45% ±0.60% ±0.78%
http/check_is_http_token.jsn=1000000 key='status' 0.05 % ±0.51% ±0.68% ±0.89%
http/check_is_http_token.jsn=1000000 key='TCN' -0.20 % ±0.59% ±0.79% ±1.03%
http/check_is_http_token.jsn=1000000 key='Transfer-Encoding' * 0.35 % ±0.32% ±0.43% ±0.56%
http/check_is_http_token.jsn=1000000 key='Vary' -0.18 % ±0.44% ±0.59% ±0.77%
http/check_is_http_token.jsn=1000000 key='version' -0.10 % ±0.45% ±0.60% ±0.78%
http/check_is_http_token.jsn=1000000 key='x-frame-options' 0.03 % ±0.33% ±0.44% ±0.57%
http/check_is_http_token.jsn=1000000 key='x-xss-protection' -0.08 % ±0.31% ±0.41% ±0.53%
http/check_is_http_token.jsn=1000000 key='中文呢' ** -0.78 % ±0.52% ±0.70% ±0.91%
http/chunked.jsduration=5 c=100 len=1 n=1 benchmarker='wrk' 0.73 % ±1.89% ±2.52% ±3.28%
http/chunked.jsduration=5 c=100 len=1 n=16 benchmarker='wrk' 1.10 % ±1.75% ±2.33% ±3.04%
http/chunked.jsduration=5 c=100 len=1 n=4 benchmarker='wrk' -0.15 % ±1.04% ±1.38% ±1.79%
http/chunked.jsduration=5 c=100 len=1 n=8 benchmarker='wrk' 0.68 % ±1.01% ±1.35% ±1.76%
http/chunked.jsduration=5 c=100 len=256 n=1 benchmarker='wrk' -0.01 % ±2.16% ±2.87% ±3.74%
http/chunked.jsduration=5 c=100 len=256 n=16 benchmarker='wrk' -0.27 % ±1.76% ±2.35% ±3.05%
http/chunked.jsduration=5 c=100 len=256 n=4 benchmarker='wrk' 0.13 % ±1.15% ±1.53% ±2.00%
http/chunked.jsduration=5 c=100 len=256 n=8 benchmarker='wrk' 0.34 % ±1.25% ±1.66% ±2.17%
http/chunked.jsduration=5 c=100 len=64 n=1 benchmarker='wrk' 0.40 % ±1.69% ±2.25% ±2.93%
http/chunked.jsduration=5 c=100 len=64 n=16 benchmarker='wrk' -0.54 % ±1.85% ±2.47% ±3.23%
http/chunked.jsduration=5 c=100 len=64 n=4 benchmarker='wrk' -1.04 % ±1.08% ±1.43% ±1.87%
http/chunked.jsduration=5 c=100 len=64 n=8 benchmarker='wrk' -0.68 % ±1.05% ±1.40% ±1.82%
http/client-request-body.jsmethod='end' len=1024 type='asc' dur=5 *** 4.34 % ±0.66% ±0.88% ±1.14%
http/client-request-body.jsmethod='end' len=1024 type='buf' dur=5 *** 4.06 % ±0.71% ±0.95% ±1.24%
http/client-request-body.jsmethod='end' len=1024 type='utf' dur=5 *** 4.66 % ±0.71% ±0.95% ±1.24%
http/client-request-body.jsmethod='end' len=256 type='asc' dur=5 *** 4.13 % ±0.69% ±0.91% ±1.19%
http/client-request-body.jsmethod='end' len=256 type='buf' dur=5 *** 3.98 % ±0.70% ±0.93% ±1.21%
http/client-request-body.jsmethod='end' len=256 type='utf' dur=5 *** 3.55 % ±0.74% ±0.98% ±1.28%
http/client-request-body.jsmethod='end' len=32 type='asc' dur=5 *** 2.22 % ±0.67% ±0.89% ±1.16%
http/client-request-body.jsmethod='end' len=32 type='buf' dur=5 *** 2.38 % ±0.86% ±1.14% ±1.48%
http/client-request-body.jsmethod='end' len=32 type='utf' dur=5 *** 2.62 % ±0.76% ±1.01% ±1.31%
http/client-request-body.jsmethod='write' len=1024 type='asc' dur=5 *** 4.32 % ±0.72% ±0.96% ±1.25%
http/client-request-body.jsmethod='write' len=1024 type='buf' dur=5 *** 4.32 % ±0.73% ±0.97% ±1.26%
http/client-request-body.jsmethod='write' len=1024 type='utf' dur=5 *** 4.11 % ±0.68% ±0.90% ±1.17%
http/client-request-body.jsmethod='write' len=256 type='asc' dur=5 *** 4.03 % ±0.71% ±0.94% ±1.23%
http/client-request-body.jsmethod='write' len=256 type='buf' dur=5 *** 4.45 % ±0.72% ±0.95% ±1.24%
http/client-request-body.jsmethod='write' len=256 type='utf' dur=5 *** 3.89 % ±0.63% ±0.83% ±1.08%
http/client-request-body.jsmethod='write' len=32 type='asc' dur=5 *** 2.27 % ±0.64% ±0.85% ±1.11%
http/client-request-body.jsmethod='write' len=32 type='buf' dur=5 *** 1.83 % ±0.65% ±0.87% ±1.13%
http/client-request-body.jsmethod='write' len=32 type='utf' dur=5 *** 2.77 % ±0.66% ±0.88% ±1.15%
http/cluster.jsduration=5 c=50 len=1024 type='buffer' benchmarker='wrk' *** 2.76 % ±0.84% ±1.11% ±1.45%
http/cluster.jsduration=5 c=50 len=1024 type='bytes' benchmarker='wrk' *** 2.32 % ±0.68% ±0.90% ±1.18%
http/cluster.jsduration=5 c=50 len=102400 type='buffer' benchmarker='wrk' *** 1.59 % ±0.63% ±0.84% ±1.09%
http/cluster.jsduration=5 c=50 len=102400 type='bytes' benchmarker='wrk' * 0.53 % ±0.50% ±0.67% ±0.87%
http/cluster.jsduration=5 c=50 len=4 type='buffer' benchmarker='wrk' *** 2.05 % ±0.88% ±1.17% ±1.52%
http/cluster.jsduration=5 c=50 len=4 type='bytes' benchmarker='wrk' *** 2.43 % ±0.77% ±1.03% ±1.35%
http/cluster.jsduration=5 c=500 len=1024 type='buffer' benchmarker='wrk' *** 2.26 % ±0.77% ±1.03% ±1.34%
http/cluster.jsduration=5 c=500 len=1024 type='bytes' benchmarker='wrk' *** 2.02 % ±0.81% ±1.07% ±1.40%
http/cluster.jsduration=5 c=500 len=102400 type='buffer' benchmarker='wrk' *** 2.01 % ±0.68% ±0.90% ±1.17%
http/cluster.jsduration=5 c=500 len=102400 type='bytes' benchmarker='wrk' *** 1.35 % ±0.71% ±0.95% ±1.24%
http/cluster.jsduration=5 c=500 len=4 type='buffer' benchmarker='wrk' *** 3.17 % ±0.90% ±1.20% ±1.56%
http/cluster.jsduration=5 c=500 len=4 type='bytes' benchmarker='wrk' *** 2.18 % ±0.81% ±1.08% ±1.40%
http/create-clientrequest.jse=1 arg='options' url='idn' -0.43 % ±1.00% ±1.34% ±1.74%
http/create-clientrequest.jse=1 arg='options' url='long' -0.40 % ±1.04% ±1.39% ±1.81%
http/create-clientrequest.jse=1 arg='options' url='wpt' -1.05 % ±1.32% ±1.76% ±2.29%
http/create-clientrequest.jse=1 arg='string' url='idn' * -0.82 % ±0.69% ±0.91% ±1.19%
http/create-clientrequest.jse=1 arg='string' url='long' ** -1.06 % ±0.65% ±0.87% ±1.13%
http/create-clientrequest.jse=1 arg='string' url='wpt' -0.62 % ±1.00% ±1.34% ±1.74%
http/create-clientrequest.jse=1 arg='URL' url='idn' 0.75 % ±2.14% ±2.85% ±3.70%
http/create-clientrequest.jse=1 arg='URL' url='long' 0.16 % ±0.91% ±1.21% ±1.58%
http/create-clientrequest.jse=1 arg='URL' url='wpt' 1.11 % ±1.30% ±1.73% ±2.26%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=1048576 type='asc' benchmarker='wrk' -0.09 % ±0.65% ±0.86% ±1.12%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=1048576 type='buf' benchmarker='wrk' ** 1.78 % ±1.33% ±1.78% ±2.31%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=1048576 type='utf' benchmarker='wrk' 0.18 % ±0.33% ±0.44% ±0.57%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=131072 type='asc' benchmarker='wrk' 0.48 % ±0.57% ±0.75% ±0.98%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=131072 type='buf' benchmarker='wrk' *** 2.66 % ±1.53% ±2.03% ±2.65%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=131072 type='utf' benchmarker='wrk' 0.38 % ±1.10% ±1.46% ±1.90%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=262144 type='asc' benchmarker='wrk' -0.01 % ±0.43% ±0.57% ±0.75%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=262144 type='buf' benchmarker='wrk' * 1.44 % ±1.30% ±1.73% ±2.25%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=262144 type='utf' benchmarker='wrk' -0.02 % ±0.33% ±0.44% ±0.57%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=65536 type='asc' benchmarker='wrk' * 0.83 % ±0.80% ±1.06% ±1.38%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=65536 type='buf' benchmarker='wrk' ** 2.66 % ±1.64% ±2.19% ±2.85%
http/end-vs-write-end.jsduration=5 method='end' c=100 len=65536 type='utf' benchmarker='wrk' 0.80 % ±1.02% ±1.36% ±1.77%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=1048576 type='asc' benchmarker='wrk' -0.14 % ±0.43% ±0.57% ±0.74%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=1048576 type='buf' benchmarker='wrk' 0.25 % ±1.33% ±1.78% ±2.32%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=1048576 type='utf' benchmarker='wrk' 0.10 % ±0.30% ±0.40% ±0.52%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=131072 type='asc' benchmarker='wrk' * 1.08 % ±1.04% ±1.38% ±1.80%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=131072 type='buf' benchmarker='wrk' -0.22 % ±1.46% ±1.94% ±2.53%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=131072 type='utf' benchmarker='wrk' 0.67 % ±1.03% ±1.38% ±1.79%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=262144 type='asc' benchmarker='wrk' 0.61 % ±1.67% ±2.23% ±2.90%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=262144 type='buf' benchmarker='wrk' 0.75 % ±1.20% ±1.59% ±2.07%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=262144 type='utf' benchmarker='wrk' 0.09 % ±0.25% ±0.33% ±0.44%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=65536 type='asc' benchmarker='wrk' ** 1.33 % ±0.82% ±1.10% ±1.43%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=65536 type='buf' benchmarker='wrk' 1.50 % ±1.56% ±2.07% ±2.70%
http/end-vs-write-end.jsduration=5 method='write' c=100 len=65536 type='utf' benchmarker='wrk' * 1.31 % ±1.03% ±1.37% ±1.78%
http/headers.jsduration=5 len=1 n=10 benchmarker='wrk' *** 3.88 % ±2.01% ±2.67% ±3.48%
http/headers.jsduration=5 len=1 n=600 benchmarker='wrk' -0.83 % ±1.18% ±1.57% ±2.05%
http/headers.jsduration=5 len=100 n=10 benchmarker='wrk' *** 2.67 % ±1.33% ±1.77% ±2.30%
http/headers.jsduration=5 len=100 n=600 benchmarker='wrk' 0.12 % ±1.95% ±2.59% ±3.38%
http/http_server_for_chunky_client.jstype='send' n=2000 len=1 0.16 % ±0.91% ±1.21% ±1.58%
http/http_server_for_chunky_client.jstype='send' n=2000 len=128 0.76 % ±0.81% ±1.08% ±1.40%
http/http_server_for_chunky_client.jstype='send' n=2000 len=16 0.34 % ±0.78% ±1.04% ±1.35%
http/http_server_for_chunky_client.jstype='send' n=2000 len=32 0.22 % ±0.93% ±1.24% ±1.61%
http/http_server_for_chunky_client.jstype='send' n=2000 len=4 0.99 % ±1.08% ±1.44% ±1.88%
http/http_server_for_chunky_client.jstype='send' n=2000 len=64 0.80 % ±0.80% ±1.06% ±1.38%
http/http_server_for_chunky_client.jstype='send' n=2000 len=8 0.44 % ±0.72% ±0.96% ±1.25%
http/http_server_for_chunky_client.jstype='send' n=5 len=1 -2.01 % ±6.61% ±8.79% ±11.45%
http/http_server_for_chunky_client.jstype='send' n=5 len=128 1.88 % ±2.45% ±3.29% ±4.35%
http/http_server_for_chunky_client.jstype='send' n=5 len=16 -0.47 % ±2.38% ±3.20% ±4.23%
http/http_server_for_chunky_client.jstype='send' n=5 len=32 -2.52 % ±3.94% ±5.31% ±7.03%
http/http_server_for_chunky_client.jstype='send' n=5 len=4 -0.28 % ±2.58% ±3.48% ±4.60%
http/http_server_for_chunky_client.jstype='send' n=5 len=64 2.32 % ±2.83% ±3.80% ±5.04%
http/http_server_for_chunky_client.jstype='send' n=5 len=8 0.78 % ±0.81% ±1.08% ±1.41%
http/http_server_for_chunky_client.jstype='send' n=50 len=1 -0.00 % ±1.73% ±2.32% ±3.05%
http/http_server_for_chunky_client.jstype='send' n=50 len=128 0.37 % ±0.90% ±1.20% ±1.56%
http/http_server_for_chunky_client.jstype='send' n=50 len=16 * 1.12 % ±0.92% ±1.23% ±1.60%
http/http_server_for_chunky_client.jstype='send' n=50 len=32 0.35 % ±0.75% ±1.00% ±1.30%
http/http_server_for_chunky_client.jstype='send' n=50 len=4 -0.48 % ±0.97% ±1.29% ±1.67%
http/http_server_for_chunky_client.jstype='send' n=50 len=64 * 2.07 % ±2.03% ±2.73% ±3.60%
http/http_server_for_chunky_client.jstype='send' n=50 len=8 -0.01 % ±0.63% ±0.84% ±1.09%
http/http_server_for_chunky_client.jstype='send' n=500 len=1 0.23 % ±0.79% ±1.05% ±1.37%
http/http_server_for_chunky_client.jstype='send' n=500 len=128 0.27 % ±1.01% ±1.35% ±1.75%
http/http_server_for_chunky_client.jstype='send' n=500 len=16 0.62 % ±0.82% ±1.09% ±1.42%
http/http_server_for_chunky_client.jstype='send' n=500 len=32 * 1.17 % ±1.03% ±1.37% ±1.80%
http/http_server_for_chunky_client.jstype='send' n=500 len=4 -0.04 % ±0.62% ±0.82% ±1.07%
http/http_server_for_chunky_client.jstype='send' n=500 len=64 0.26 % ±1.03% ±1.38% ±1.80%
http/http_server_for_chunky_client.jstype='send' n=500 len=8 -0.13 % ±0.88% ±1.16% ±1.52%
http/incoming_headers.jsduration=5 w=0 headers=20 connections=50 benchmarker='wrk' *** 4.25 % ±2.23% ±2.97% ±3.86%
http/incoming_headers.jsduration=5 w=6 headers=20 connections=50 benchmarker='wrk' *** 4.33 % ±2.23% ±2.96% ±3.86%
http/set_header.jsn=1000000 value='Connection' 0.98 % ±2.02% ±2.71% ±3.57%
http/set_header.jsn=1000000 value='Content-Length' -0.18 % ±0.65% ±0.86% ±1.12%
http/set_header.jsn=1000000 value='Content-Type' 0.25 % ±2.16% ±2.89% ±3.77%
http/set_header.jsn=1000000 value='Set-Cookie' -0.51 % ±1.06% ±1.42% ±1.86%
http/set_header.jsn=1000000 value='Transfer-Encoding' -0.14 % ±0.61% ±0.82% ±1.06%
http/set_header.jsn=1000000 value='Vary' * 1.19 % ±0.96% ±1.28% ±1.67%
http/set_header.jsn=1000000 value='X-Powered-By' -0.18 % ±0.85% ±1.14% ±1.48%
http/set-header.jsduration=5 res='normal' benchmarker='wrk' *** 3.48 % ±1.70% ±2.26% ±2.95%
http/set-header.jsduration=5 res='setHeader' benchmarker='wrk' *** 3.27 % ±1.83% ±2.43% ±3.16%
http/set-header.jsduration=5 res='setHeaderWH' benchmarker='wrk' * 1.84 % ±1.74% ±2.32% ±3.02%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=1 len=1024 type='buffer' benchmarker='wrk' ** 2.33 % ±1.52% ±2.03% ±2.64%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=1 len=1024 type='bytes' benchmarker='wrk' ** 2.75 % ±1.92% ±2.55% ±3.32%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=1 len=102400 type='buffer' benchmarker='wrk' *** 3.28 % ±1.57% ±2.09% ±2.72%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=1 len=102400 type='bytes' benchmarker='wrk' 0.37 % ±0.90% ±1.20% ±1.56%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=1 len=4 type='buffer' benchmarker='wrk' 1.85 % ±1.86% ±2.47% ±3.21%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=1 len=4 type='bytes' benchmarker='wrk' 1.73 % ±1.84% ±2.45% ±3.19%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=4 len=1024 type='buffer' benchmarker='wrk' ** 3.32 % ±1.94% ±2.58% ±3.37%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=4 len=1024 type='bytes' benchmarker='wrk' ** 2.87 % ±1.87% ±2.49% ±3.25%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=4 len=102400 type='buffer' benchmarker='wrk' 0.88 % ±1.67% ±2.23% ±2.92%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=4 len=102400 type='bytes' benchmarker='wrk' ** 1.38 % ±0.90% ±1.20% ±1.56%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=4 len=4 type='buffer' benchmarker='wrk' *** 3.70 % ±1.97% ±2.62% ±3.42%
http/simple.jsduration=5 chunkedEnc=0 c=50 chunks=4 len=4 type='bytes' benchmarker='wrk' *** 4.32 % ±1.76% ±2.34% ±3.05%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=1 len=1024 type='buffer' benchmarker='wrk' *** 3.23 % ±1.84% ±2.45% ±3.19%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=1 len=1024 type='bytes' benchmarker='wrk' *** 3.93 % ±1.67% ±2.23% ±2.90%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=1 len=102400 type='buffer' benchmarker='wrk' *** 2.46 % ±1.37% ±1.83% ±2.38%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=1 len=102400 type='bytes' benchmarker='wrk' * -2.39 % ±1.88% ±2.51% ±3.26%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=1 len=4 type='buffer' benchmarker='wrk' * 2.29 % ±1.75% ±2.34% ±3.05%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=1 len=4 type='bytes' benchmarker='wrk' * 1.85 % ±1.57% ±2.09% ±2.72%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=4 len=1024 type='buffer' benchmarker='wrk' 0.26 % ±1.57% ±2.08% ±2.72%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=4 len=1024 type='bytes' benchmarker='wrk' *** 2.72 % ±1.34% ±1.79% ±2.33%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=4 len=102400 type='buffer' benchmarker='wrk' 0.90 % ±1.54% ±2.05% ±2.68%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=4 len=102400 type='bytes' benchmarker='wrk' 0.26 % ±0.87% ±1.16% ±1.51%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=4 len=4 type='buffer' benchmarker='wrk' ** 2.02 % ±1.49% ±1.98% ±2.57%
http/simple.jsduration=5 chunkedEnc=0 c=500 chunks=4 len=4 type='bytes' benchmarker='wrk' *** 3.41 % ±1.53% ±2.04% ±2.66%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=1 len=1024 type='buffer' benchmarker='wrk' *** 2.84 % ±1.55% ±2.07% ±2.70%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=1 len=1024 type='bytes' benchmarker='wrk' 1.72 % ±1.91% ±2.54% ±3.31%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=1 len=102400 type='buffer' benchmarker='wrk' *** 2.98 % ±1.46% ±1.95% ±2.54%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=1 len=102400 type='bytes' benchmarker='wrk' * 0.92 % ±0.72% ±0.96% ±1.26%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=1 len=4 type='buffer' benchmarker='wrk' ** 2.46 % ±1.69% ±2.25% ±2.93%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=1 len=4 type='bytes' benchmarker='wrk' ** 2.96 % ±1.81% ±2.41% ±3.14%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=4 len=1024 type='buffer' benchmarker='wrk' * 1.62 % ±1.50% ±2.00% ±2.60%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=4 len=1024 type='bytes' benchmarker='wrk' *** 2.83 % ±1.50% ±1.99% ±2.59%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=4 len=102400 type='buffer' benchmarker='wrk' * 1.81 % ±1.40% ±1.86% ±2.42%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=4 len=102400 type='bytes' benchmarker='wrk' ** 1.30 % ±0.95% ±1.26% ±1.64%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=4 len=4 type='buffer' benchmarker='wrk' ** 2.31 % ±1.46% ±1.94% ±2.53%
http/simple.jsduration=5 chunkedEnc=1 c=50 chunks=4 len=4 type='bytes' benchmarker='wrk' ** 2.31 % ±1.50% ±2.00% ±2.60%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=1 len=1024 type='buffer' benchmarker='wrk' 0.96 % ±1.22% ±1.62% ±2.11%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=1 len=1024 type='bytes' benchmarker='wrk' *** 3.31 % ±1.48% ±1.97% ±2.56%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=1 len=102400 type='buffer' benchmarker='wrk' ** 2.41 % ±1.55% ±2.06% ±2.68%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=1 len=102400 type='bytes' benchmarker='wrk' 0.18 % ±0.65% ±0.87% ±1.13%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=1 len=4 type='buffer' benchmarker='wrk' 1.40 % ±1.67% ±2.22% ±2.89%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=1 len=4 type='bytes' benchmarker='wrk' ** 2.71 % ±1.72% ±2.29% ±2.99%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=4 len=1024 type='buffer' benchmarker='wrk' *** 2.06 % ±1.18% ±1.58% ±2.05%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=4 len=1024 type='bytes' benchmarker='wrk' *** 2.52 % ±1.29% ±1.72% ±2.23%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=4 len=102400 type='buffer' benchmarker='wrk' * 1.43 % ±1.37% ±1.83% ±2.38%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=4 len=102400 type='bytes' benchmarker='wrk' ** 1.64 % ±1.03% ±1.37% ±1.79%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=4 len=4 type='buffer' benchmarker='wrk' ** 2.18 % ±1.54% ±2.05% ±2.67%
http/simple.jsduration=5 chunkedEnc=1 c=500 chunks=4 len=4 type='bytes' benchmarker='wrk' 0.50 % ±1.37% ±1.82% ±2.37%
http/upgrade.jsn=1000 ** 0.64 % ±0.45% ±0.60% ±0.78%
http/upgrade.jsn=5 *** -0.81 % ±0.34% ±0.46% ±0.59%
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 (***)