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

http: there is no corked property of stream #18325

Conversation

indutny
Copy link
Member

@indutny indutny commented Jan 23, 2018

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines
Affected core subsystem(s)

http


Do not check/use unexistent property, use OutgoingMessage instead.

Do not check/use unexistent property, use `OutgoingMessage` instead.
@nodejs-github-bot nodejs-github-bot added the http Issues or PRs related to the http subsystem. label Jan 23, 2018
@indutny
Copy link
Member Author

indutny commented Jan 23, 2018

cc @nodejs/http

@indutny
Copy link
Member Author

indutny commented Jan 23, 2018

@nodejs/benchmarking could you help me benchmark this vs current master? I've a feeling that we might be sitting on a performance improvement here.

@joyeecheung
Copy link
Member

Benchmark CI: https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/102/

@indutny
Copy link
Member Author

indutny commented Jan 24, 2018

@joyeecheung I'm really newbie when it comes to benchmarks, but how long does it usually take to complete?

@lpinca
Copy link
Member

lpinca commented Jan 24, 2018

http benchmarks take days to complete 😄

@joyeecheung
Copy link
Member

@indutny The majority of time spent on HTTP benchmarks are on http/simple.js, I think @AndreasMadsen talked about changing it to slow down the run time in another PR?

@AndreasMadsen
Copy link
Member

@joyeecheung Yep, see #18003 (comment)

@indutny
Copy link
Member Author

indutny commented Jan 25, 2018

@joyeecheung looks like benchmarks are completed. Is there any way to format it nicely? Thanks!

@joyeecheung
Copy link
Member

joyeecheung commented Jan 25, 2018

See benchmark results
                                                                                                                                                                      improvement confidence
 http/bench-parser.js n=100000 len=16                                                                                                                                      2.78 %           
 http/bench-parser.js n=100000 len=32                                                                                                                                      2.29 %           
 http/bench-parser.js n=100000 len=4                                                                                                                                       4.43 %           
 http/bench-parser.js n=100000 len=8                                                                                                                                       5.35 %          *
 http/check_invalid_header_char.js n=1000000 key=""                                                                                                                       -2.37 %           
 http/check_invalid_header_char.js n=1000000 key="\177"                                                                                                                    3.63 %           
 http/check_invalid_header_char.js n=1000000 key="1"                                                                                                                      -1.75 %           
 http/check_invalid_header_char.js n=1000000 key="20091"                                                                                                                  -0.83 %           
 http/check_invalid_header_char.js n=1000000 key="close"                                                                                                                   2.93 %           
 http/check_invalid_header_char.js n=1000000 key="en-US"                                                                                                                   1.73 %           
 http/check_invalid_header_char.js n=1000000 key="foo\\nbar"                                                                                                              -0.41 %           
 http/check_invalid_header_char.js n=1000000 key="gzip"                                                                                                                   -1.35 %           
 http/check_invalid_header_char.js n=1000000 key="Here is a value that is really a folded header value\\r\\n  this should be      supported, but it is not currently"     -0.22 %           
 http/check_invalid_header_char.js n=1000000 key="keep-alive"                                                                                                             -0.31 %           
 http/check_invalid_header_char.js n=1000000 key="private"                                                                                                                -6.08 %           
 http/check_invalid_header_char.js n=1000000 key="SAMEORIGIN"                                                                                                              0.43 %           
 http/check_invalid_header_char.js n=1000000 key="Sat, 07 May 2016 16:54:48 GMT"                                                                                          -0.82 %           
 http/check_invalid_header_char.js n=1000000 key="text/html; charset=utf-8"                                                                                               -0.90 %           
 http/check_invalid_header_char.js n=1000000 key="text/plain"                                                                                                              3.20 %           
 http/check_invalid_header_char.js n=1000000 key="\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFoo bar baz"                                                                              -2.51 %           
 http/check_invalid_header_char.js n=1000000 key="中文呢"                                                                                                                  2.66 %           
 http/check_is_http_token.js n=1000000 key=":"                                                                                                                             1.65 %           
 http/check_is_http_token.js n=1000000 key="((((())))"                                                                                                                    -2.50 %           
 http/check_is_http_token.js n=1000000 key="@@"                                                                                                                           -5.19 %           
 http/check_is_http_token.js n=1000000 key="Accept-Ranges"                                                                                                                 2.95 %           
 http/check_is_http_token.js n=1000000 key=":alternate-protocol"                                                                                                          -0.70 %           
 http/check_is_http_token.js n=1000000 key="alternate-protocol:"                                                                                                           0.33 %           
 http/check_is_http_token.js n=1000000 key="alternate-protocol"                                                                                                           -2.37 %           
 http/check_is_http_token.js n=1000000 key="alt-svc"                                                                                                                      -4.57 %           
 http/check_is_http_token.js n=1000000 key="Cache-Control"                                                                                                                -1.36 %           
 http/check_is_http_token.js n=1000000 key="Connection"                                                                                                                    2.78 %           
 http/check_is_http_token.js n=1000000 key="Content-Encoding"                                                                                                             -1.49 %           
 http/check_is_http_token.js n=1000000 key="content-length"                                                                                                               -0.79 %           
 http/check_is_http_token.js n=1000000 key="Content-Location"                                                                                                             -2.18 %           
 http/check_is_http_token.js n=1000000 key="content-type"                                                                                                                  2.83 %           
 http/check_is_http_token.js n=1000000 key="Content-Type"                                                                                                                 -0.19 %           
 http/check_is_http_token.js n=1000000 key="date"                                                                                                                         -1.93 %           
 http/check_is_http_token.js n=1000000 key="ETag"                                                                                                                          2.62 %           
 http/check_is_http_token.js n=1000000 key="Expires"                                                                                                                       0.14 %           
 http/check_is_http_token.js n=1000000 key="Keep-Alive"                                                                                                                    2.48 %           
 http/check_is_http_token.js n=1000000 key="Last-Modified"                                                                                                                 4.22 %           
 http/check_is_http_token.js n=1000000 key="location"                                                                                                                     -1.47 %           
 http/check_is_http_token.js n=1000000 key="server"                                                                                                                        2.11 %           
 http/check_is_http_token.js n=1000000 key="Server"                                                                                                                        0.53 %           
 http/check_is_http_token.js n=1000000 key="status"                                                                                                                       -2.33 %           
 http/check_is_http_token.js n=1000000 key="TCN"                                                                                                                          -4.63 %           
 http/check_is_http_token.js n=1000000 key="Transfer-Encoding"                                                                                                             3.44 %           
 http/check_is_http_token.js n=1000000 key="Vary"                                                                                                                          2.88 %           
 http/check_is_http_token.js n=1000000 key="version"                                                                                                                      -6.11 %          *
 http/check_is_http_token.js n=1000000 key="x-frame-options"                                                                                                               2.12 %           
 http/check_is_http_token.js n=1000000 key="x-xss-protection"                                                                                                              0.42 %           
 http/check_is_http_token.js n=1000000 key="中文呢"                                                                                                                       -6.95 %          *
 http/chunked.js c=100 len=1 n=16 benchmarker="wrk"                                                                                                                       -0.07 %           
 http/chunked.js c=100 len=1 n=1 benchmarker="wrk"                                                                                                                         0.19 %         **
 http/chunked.js c=100 len=1 n=4 benchmarker="wrk"                                                                                                                        -0.06 %           
 http/chunked.js c=100 len=1 n=8 benchmarker="wrk"                                                                                                                        -0.07 %           
 http/chunked.js c=100 len=256 n=16 benchmarker="wrk"                                                                                                                     -0.05 %           
 http/chunked.js c=100 len=256 n=1 benchmarker="wrk"                                                                                                                      -0.03 %           
 http/chunked.js c=100 len=256 n=4 benchmarker="wrk"                                                                                                                      -0.13 %          *
 http/chunked.js c=100 len=256 n=8 benchmarker="wrk"                                                                                                                      -0.02 %           
 http/chunked.js c=100 len=64 n=16 benchmarker="wrk"                                                                                                                      -0.00 %           
 http/chunked.js c=100 len=64 n=1 benchmarker="wrk"                                                                                                                        0.07 %           
 http/chunked.js c=100 len=64 n=4 benchmarker="wrk"                                                                                                                       -0.07 %           
 http/chunked.js c=100 len=64 n=8 benchmarker="wrk"                                                                                                                       -0.04 %           
 http/client-request-body.js method="end" len=1024 type="asc" dur=5                                                                                                       -2.36 %           
 http/client-request-body.js method="end" len=1024 type="buf" dur=5                                                                                                       -1.64 %           
 http/client-request-body.js method="end" len=1024 type="utf" dur=5                                                                                                       -3.15 %           
 http/client-request-body.js method="end" len=256 type="asc" dur=5                                                                                                        -3.79 %           
 http/client-request-body.js method="end" len=256 type="buf" dur=5                                                                                                        -0.87 %           
 http/client-request-body.js method="end" len=256 type="utf" dur=5                                                                                                        -1.67 %           
 http/client-request-body.js method="end" len=32 type="asc" dur=5                                                                                                          1.01 %           
 http/client-request-body.js method="end" len=32 type="buf" dur=5                                                                                                          2.07 %           
 http/client-request-body.js method="end" len=32 type="utf" dur=5                                                                                                          3.96 %           
 http/client-request-body.js method="write" len=1024 type="asc" dur=5                                                                                                     -5.14 %          *
 http/client-request-body.js method="write" len=1024 type="buf" dur=5                                                                                                      4.57 %          *
 http/client-request-body.js method="write" len=1024 type="utf" dur=5                                                                                                     -3.53 %           
 http/client-request-body.js method="write" len=256 type="asc" dur=5                                                                                                      -0.81 %           
 http/client-request-body.js method="write" len=256 type="buf" dur=5                                                                                                      -2.10 %           
 http/client-request-body.js method="write" len=256 type="utf" dur=5                                                                                                       1.71 %           
 http/client-request-body.js method="write" len=32 type="asc" dur=5                                                                                                        0.71 %           
 http/client-request-body.js method="write" len=32 type="buf" dur=5                                                                                                        3.85 %           
 http/client-request-body.js method="write" len=32 type="utf" dur=5                                                                                                       -2.01 %           
 http/cluster.js c=500 len=102400 type="buffer" benchmarker="wrk"                                                                                                         -0.10 %           
 http/cluster.js c=500 len=102400 type="bytes" benchmarker="wrk"                                                                                                          -0.18 %           
 http/cluster.js c=500 len=1024 type="buffer" benchmarker="wrk"                                                                                                            0.27 %           
 http/cluster.js c=500 len=1024 type="bytes" benchmarker="wrk"                                                                                                            -0.53 %           
 http/cluster.js c=500 len=4 type="buffer" benchmarker="wrk"                                                                                                               1.22 %           
 http/cluster.js c=500 len=4 type="bytes" benchmarker="wrk"                                                                                                               -0.58 %           
 http/cluster.js c=50 len=102400 type="buffer" benchmarker="wrk"                                                                                                           2.80 %          *
 http/cluster.js c=50 len=102400 type="bytes" benchmarker="wrk"                                                                                                            1.37 %           
 http/cluster.js c=50 len=1024 type="buffer" benchmarker="wrk"                                                                                                             0.91 %           
 http/cluster.js c=50 len=1024 type="bytes" benchmarker="wrk"                                                                                                              0.20 %           
 http/cluster.js c=50 len=4 type="buffer" benchmarker="wrk"                                                                                                                0.91 %           
 http/cluster.js c=50 len=4 type="bytes" benchmarker="wrk"                                                                                                                 0.75 %           
 http/create-clientrequest.js n=1000000 len=1                                                                                                                             -4.79 %           
 http/create-clientrequest.js n=1000000 len=128                                                                                                                           -3.23 %           
 http/create-clientrequest.js n=1000000 len=16                                                                                                                            -2.49 %           
 http/create-clientrequest.js n=1000000 len=32                                                                                                                            -1.83 %           
 http/create-clientrequest.js n=1000000 len=64                                                                                                                             1.75 %           
 http/create-clientrequest.js n=1000000 len=8                                                                                                                              1.76 %           
 http/end-vs-write-end.js method="end" c=100 len=1048576 type="asc" benchmarker="wrk"                                                                                     -4.12 %           
 http/end-vs-write-end.js method="end" c=100 len=1048576 type="buf" benchmarker="wrk"                                                                                     -0.82 %           
 http/end-vs-write-end.js method="end" c=100 len=1048576 type="utf" benchmarker="wrk"                                                                                      1.30 %           
 http/end-vs-write-end.js method="end" c=100 len=131072 type="asc" benchmarker="wrk"                                                                                       0.04 %           
 http/end-vs-write-end.js method="end" c=100 len=131072 type="buf" benchmarker="wrk"                                                                                       0.44 %           
 http/end-vs-write-end.js method="end" c=100 len=131072 type="utf" benchmarker="wrk"                                                                                       2.79 %           
 http/end-vs-write-end.js method="end" c=100 len=262144 type="asc" benchmarker="wrk"                                                                                       0.84 %           
 http/end-vs-write-end.js method="end" c=100 len=262144 type="buf" benchmarker="wrk"                                                                                      -2.51 %           
 http/end-vs-write-end.js method="end" c=100 len=262144 type="utf" benchmarker="wrk"                                                                                      -1.76 %          *
 http/end-vs-write-end.js method="end" c=100 len=65536 type="asc" benchmarker="wrk"                                                                                       -0.10 %           
 http/end-vs-write-end.js method="end" c=100 len=65536 type="buf" benchmarker="wrk"                                                                                       -0.88 %           
 http/end-vs-write-end.js method="end" c=100 len=65536 type="utf" benchmarker="wrk"                                                                                       -2.63 %           
 http/end-vs-write-end.js method="write" c=100 len=1048576 type="asc" benchmarker="wrk"                                                                                    2.27 %           
 http/end-vs-write-end.js method="write" c=100 len=1048576 type="buf" benchmarker="wrk"                                                                                    2.04 %           
 http/end-vs-write-end.js method="write" c=100 len=1048576 type="utf" benchmarker="wrk"                                                                                   -5.60 %          *
 http/end-vs-write-end.js method="write" c=100 len=131072 type="asc" benchmarker="wrk"                                                                                    -5.13 %          *
 http/end-vs-write-end.js method="write" c=100 len=131072 type="buf" benchmarker="wrk"                                                                                     0.07 %           
 http/end-vs-write-end.js method="write" c=100 len=131072 type="utf" benchmarker="wrk"                                                                                     2.27 %           
 http/end-vs-write-end.js method="write" c=100 len=262144 type="asc" benchmarker="wrk"                                                                                    -1.71 %           
 http/end-vs-write-end.js method="write" c=100 len=262144 type="buf" benchmarker="wrk"                                                                                    -0.57 %           
 http/end-vs-write-end.js method="write" c=100 len=262144 type="utf" benchmarker="wrk"                                                                                    -1.19 %           
 http/end-vs-write-end.js method="write" c=100 len=65536 type="asc" benchmarker="wrk"                                                                                      3.73 %           
 http/end-vs-write-end.js method="write" c=100 len=65536 type="buf" benchmarker="wrk"                                                                                      0.83 %           
 http/end-vs-write-end.js method="write" c=100 len=65536 type="utf" benchmarker="wrk"                                                                                      2.41 %           
 http/http_server_for_chunky_client.js type="send" n=2000 len=1                                                                                                           -1.23 %           
 http/http_server_for_chunky_client.js type="send" n=2000 len=128                                                                                                         -3.23 %           
 http/http_server_for_chunky_client.js type="send" n=2000 len=16                                                                                                          -6.28 %           
 http/http_server_for_chunky_client.js type="send" n=2000 len=32                                                                                                           0.39 %           
 http/http_server_for_chunky_client.js type="send" n=2000 len=4                                                                                                           -4.51 %           
 http/http_server_for_chunky_client.js type="send" n=2000 len=64                                                                                                           0.62 %           
 http/http_server_for_chunky_client.js type="send" n=2000 len=8                                                                                                           -2.13 %           
 http/http_server_for_chunky_client.js type="send" n=500 len=1                                                                                                            -2.22 %           
 http/http_server_for_chunky_client.js type="send" n=500 len=128                                                                                                           6.04 %           
 http/http_server_for_chunky_client.js type="send" n=500 len=16                                                                                                            4.93 %           
 http/http_server_for_chunky_client.js type="send" n=500 len=32                                                                                                            1.86 %           
 http/http_server_for_chunky_client.js type="send" n=500 len=4                                                                                                            -1.64 %           
 http/http_server_for_chunky_client.js type="send" n=500 len=64                                                                                                           -2.69 %           
 http/http_server_for_chunky_client.js type="send" n=500 len=8                                                                                                             3.21 %           
 http/http_server_for_chunky_client.js type="send" n=50 len=1                                                                                                             -1.41 %           
 http/http_server_for_chunky_client.js type="send" n=50 len=128                                                                                                            3.23 %           
 http/http_server_for_chunky_client.js type="send" n=50 len=16                                                                                                            -0.46 %           
 http/http_server_for_chunky_client.js type="send" n=50 len=32                                                                                                            -4.39 %           
 http/http_server_for_chunky_client.js type="send" n=50 len=4                                                                                                              1.16 %           
 http/http_server_for_chunky_client.js type="send" n=50 len=64                                                                                                             1.23 %           
 http/http_server_for_chunky_client.js type="send" n=50 len=8                                                                                                             -2.43 %           
 http/http_server_for_chunky_client.js type="send" n=5 len=1                                                                                                              -5.26 %           
 http/http_server_for_chunky_client.js type="send" n=5 len=128                                                                                                             1.10 %           
 http/http_server_for_chunky_client.js type="send" n=5 len=16                                                                                                              1.16 %           
 http/http_server_for_chunky_client.js type="send" n=5 len=32                                                                                                             10.59 %           
 http/http_server_for_chunky_client.js type="send" n=5 len=4                                                                                                              -5.24 %           
 http/http_server_for_chunky_client.js type="send" n=5 len=64                                                                                                              9.87 %          *
 http/http_server_for_chunky_client.js type="send" n=5 len=8                                                                                                               0.75 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                        5.60 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                        -0.87 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                         -5.20 %          *
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                           1.65 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                             3.15 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                             -1.29 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                       -0.02 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                         2.06 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                         -2.49 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                           1.61 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                             2.54 %           
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                             -1.39 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                        -1.30 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                         -1.21 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                          -0.36 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                           -0.79 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                             -1.75 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                              -0.58 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                         4.72 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                          5.08 %         **
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                           0.83 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                            0.52 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                              1.56 %           
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                               1.71 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                        0.73 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                         2.80 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                         -2.02 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                          -1.11 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                             1.88 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                              1.07 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                       -0.77 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                         3.97 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                          1.99 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                           4.37 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                             3.26 %           
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                              5.56 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                         5.65 %          *
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                          3.06 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                           2.03 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                            0.65 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                              1.25 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                               2.83 %          *
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                         1.92 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                         -2.15 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                           0.67 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                            2.01 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                              1.40 %           
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                               1.40 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                    -2.12 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                      0.45 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                      -2.60 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                       -0.18 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                         -2.30 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                          -0.90 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                     6.27 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                     -5.72 %          *
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                      -0.49 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                        0.70 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                          1.06 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                          -0.91 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                     -3.08 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                      -0.57 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                        1.01 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                        -0.86 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                          -1.19 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                            1.79 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                      2.42 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                      -3.15 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                       -0.17 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                         1.89 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                           1.30 %           
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                            0.98 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                     2.73 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                     -2.01 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                       2.64 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                        1.27 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                          0.85 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                           2.52 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                     0.18 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                     -1.60 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                       6.69 %          *
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                       -1.53 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                          0.43 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                           1.54 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                     -1.46 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                      -1.45 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                       -0.00 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                         0.16 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                          -3.54 %          *
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                            0.12 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                     -0.25 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                      -1.19 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                        0.66 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                        -0.27 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                          -1.26 %           
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                           -0.39 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                  -1.35 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                   -1.66 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                     4.49 %          *
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                      0.19 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                        0.70 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                         1.36 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                   0.55 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                   -3.23 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                    -0.81 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                      1.95 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                        0.75 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                        -3.96 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                   -1.61 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                    -0.84 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                     -0.56 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                      -3.15 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                        -0.16 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                         -3.60 %          *
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                    5.00 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                    -1.45 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                      2.69 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                      -1.72 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                         1.08 %           
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                          0.77 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                   3.60 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                    0.78 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                    -3.94 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                     -3.29 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                       -1.35 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                         2.66 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                  -0.63 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                   -1.87 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                    -0.18 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                      3.95 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                       -1.67 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                        -0.70 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                    3.92 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                     0.19 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                      0.90 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                      -0.31 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                        -0.14 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                         -1.01 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                    8.05 %         **
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                    -0.57 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                     -0.05 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                       1.08 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                         0.36 %           
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                          0.78 %           
 http/upgrade.js n=1000                                                                                                                                                    0.58 %           
 http/upgrade.js n=5                                                                                                                                                       3.38 %           
                                                                                                                                                                          p.value
 http/bench-parser.js n=100000 len=16                                                                                                                                 0.507279133
 http/bench-parser.js n=100000 len=32                                                                                                                                 0.461329982
 http/bench-parser.js n=100000 len=4                                                                                                                                  0.122027139
 http/bench-parser.js n=100000 len=8                                                                                                                                  0.043339773
 http/check_invalid_header_char.js n=1000000 key=""                                                                                                                   0.629272967
 http/check_invalid_header_char.js n=1000000 key="\177"                                                                                                               0.412303904
 http/check_invalid_header_char.js n=1000000 key="1"                                                                                                                  0.618160251
 http/check_invalid_header_char.js n=1000000 key="20091"                                                                                                              0.787443011
 http/check_invalid_header_char.js n=1000000 key="close"                                                                                                              0.512335266
 http/check_invalid_header_char.js n=1000000 key="en-US"                                                                                                              0.616662026
 http/check_invalid_header_char.js n=1000000 key="foo\\nbar"                                                                                                          0.943380066
 http/check_invalid_header_char.js n=1000000 key="gzip"                                                                                                               0.631099995
 http/check_invalid_header_char.js n=1000000 key="Here is a value that is really a folded header value\\r\\n  this should be      supported, but it is not currently" 0.910598414
 http/check_invalid_header_char.js n=1000000 key="keep-alive"                                                                                                         0.863450188
 http/check_invalid_header_char.js n=1000000 key="private"                                                                                                            0.106438007
 http/check_invalid_header_char.js n=1000000 key="SAMEORIGIN"                                                                                                         0.885395531
 http/check_invalid_header_char.js n=1000000 key="Sat, 07 May 2016 16:54:48 GMT"                                                                                      0.644557846
 http/check_invalid_header_char.js n=1000000 key="text/html; charset=utf-8"                                                                                           0.726768607
 http/check_invalid_header_char.js n=1000000 key="text/plain"                                                                                                         0.240362350
 http/check_invalid_header_char.js n=1000000 key="\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFoo bar baz"                                                                          0.167591905
 http/check_invalid_header_char.js n=1000000 key="中文呢"                                                                                                             0.501405272
 http/check_is_http_token.js n=1000000 key=":"                                                                                                                        0.644233666
 http/check_is_http_token.js n=1000000 key="((((())))"                                                                                                                0.538327712
 http/check_is_http_token.js n=1000000 key="@@"                                                                                                                       0.227160393
 http/check_is_http_token.js n=1000000 key="Accept-Ranges"                                                                                                            0.333620850
 http/check_is_http_token.js n=1000000 key=":alternate-protocol"                                                                                                      0.858452264
 http/check_is_http_token.js n=1000000 key="alternate-protocol:"                                                                                                      0.870751217
 http/check_is_http_token.js n=1000000 key="alternate-protocol"                                                                                                       0.289841174
 http/check_is_http_token.js n=1000000 key="alt-svc"                                                                                                                  0.227832221
 http/check_is_http_token.js n=1000000 key="Cache-Control"                                                                                                            0.671484435
 http/check_is_http_token.js n=1000000 key="Connection"                                                                                                               0.084448729
 http/check_is_http_token.js n=1000000 key="Content-Encoding"                                                                                                         0.620787603
 http/check_is_http_token.js n=1000000 key="content-length"                                                                                                           0.786578695
 http/check_is_http_token.js n=1000000 key="Content-Location"                                                                                                         0.429050291
 http/check_is_http_token.js n=1000000 key="content-type"                                                                                                             0.362772831
 http/check_is_http_token.js n=1000000 key="Content-Type"                                                                                                             0.948868036
 http/check_is_http_token.js n=1000000 key="date"                                                                                                                     0.587532644
 http/check_is_http_token.js n=1000000 key="ETag"                                                                                                                     0.440532617
 http/check_is_http_token.js n=1000000 key="Expires"                                                                                                                  0.967203564
 http/check_is_http_token.js n=1000000 key="Keep-Alive"                                                                                                               0.368547563
 http/check_is_http_token.js n=1000000 key="Last-Modified"                                                                                                            0.128221819
 http/check_is_http_token.js n=1000000 key="location"                                                                                                                 0.631343042
 http/check_is_http_token.js n=1000000 key="server"                                                                                                                   0.573072368
 http/check_is_http_token.js n=1000000 key="Server"                                                                                                                   0.854151054
 http/check_is_http_token.js n=1000000 key="status"                                                                                                                   0.517213652
 http/check_is_http_token.js n=1000000 key="TCN"                                                                                                                      0.265359560
 http/check_is_http_token.js n=1000000 key="Transfer-Encoding"                                                                                                        0.239206634
 http/check_is_http_token.js n=1000000 key="Vary"                                                                                                                     0.404593048
 http/check_is_http_token.js n=1000000 key="version"                                                                                                                  0.023300303
 http/check_is_http_token.js n=1000000 key="x-frame-options"                                                                                                          0.471158088
 http/check_is_http_token.js n=1000000 key="x-xss-protection"                                                                                                         0.845901137
 http/check_is_http_token.js n=1000000 key="中文呢"                                                                                                                   0.033339347
 http/chunked.js c=100 len=1 n=16 benchmarker="wrk"                                                                                                                   0.231448195
 http/chunked.js c=100 len=1 n=1 benchmarker="wrk"                                                                                                                    0.002838721
 http/chunked.js c=100 len=1 n=4 benchmarker="wrk"                                                                                                                    0.363068519
 http/chunked.js c=100 len=1 n=8 benchmarker="wrk"                                                                                                                    0.273638824
 http/chunked.js c=100 len=256 n=16 benchmarker="wrk"                                                                                                                 0.458118097
 http/chunked.js c=100 len=256 n=1 benchmarker="wrk"                                                                                                                  0.618052748
 http/chunked.js c=100 len=256 n=4 benchmarker="wrk"                                                                                                                  0.024299753
 http/chunked.js c=100 len=256 n=8 benchmarker="wrk"                                                                                                                  0.768652102
 http/chunked.js c=100 len=64 n=16 benchmarker="wrk"                                                                                                                  0.965054071
 http/chunked.js c=100 len=64 n=1 benchmarker="wrk"                                                                                                                   0.259052135
 http/chunked.js c=100 len=64 n=4 benchmarker="wrk"                                                                                                                   0.210720787
 http/chunked.js c=100 len=64 n=8 benchmarker="wrk"                                                                                                                   0.522991222
 http/client-request-body.js method="end" len=1024 type="asc" dur=5                                                                                                   0.314115576
 http/client-request-body.js method="end" len=1024 type="buf" dur=5                                                                                                   0.430842319
 http/client-request-body.js method="end" len=1024 type="utf" dur=5                                                                                                   0.103233165
 http/client-request-body.js method="end" len=256 type="asc" dur=5                                                                                                    0.106999097
 http/client-request-body.js method="end" len=256 type="buf" dur=5                                                                                                    0.705955479
 http/client-request-body.js method="end" len=256 type="utf" dur=5                                                                                                    0.460008192
 http/client-request-body.js method="end" len=32 type="asc" dur=5                                                                                                     0.620228798
 http/client-request-body.js method="end" len=32 type="buf" dur=5                                                                                                     0.375560348
 http/client-request-body.js method="end" len=32 type="utf" dur=5                                                                                                     0.051786155
 http/client-request-body.js method="write" len=1024 type="asc" dur=5                                                                                                 0.040685552
 http/client-request-body.js method="write" len=1024 type="buf" dur=5                                                                                                 0.019845375
 http/client-request-body.js method="write" len=1024 type="utf" dur=5                                                                                                 0.251272281
 http/client-request-body.js method="write" len=256 type="asc" dur=5                                                                                                  0.665102278
 http/client-request-body.js method="write" len=256 type="buf" dur=5                                                                                                  0.302305862
 http/client-request-body.js method="write" len=256 type="utf" dur=5                                                                                                  0.434550089
 http/client-request-body.js method="write" len=32 type="asc" dur=5                                                                                                   0.771484048
 http/client-request-body.js method="write" len=32 type="buf" dur=5                                                                                                   0.146731835
 http/client-request-body.js method="write" len=32 type="utf" dur=5                                                                                                   0.391441300
 http/cluster.js c=500 len=102400 type="buffer" benchmarker="wrk"                                                                                                     0.955688037
 http/cluster.js c=500 len=102400 type="bytes" benchmarker="wrk"                                                                                                      0.923293698
 http/cluster.js c=500 len=1024 type="buffer" benchmarker="wrk"                                                                                                       0.891762639
 http/cluster.js c=500 len=1024 type="bytes" benchmarker="wrk"                                                                                                        0.797731952
 http/cluster.js c=500 len=4 type="buffer" benchmarker="wrk"                                                                                                          0.519245640
 http/cluster.js c=500 len=4 type="bytes" benchmarker="wrk"                                                                                                           0.737150379
 http/cluster.js c=50 len=102400 type="buffer" benchmarker="wrk"                                                                                                      0.020746761
 http/cluster.js c=50 len=102400 type="bytes" benchmarker="wrk"                                                                                                       0.396942025
 http/cluster.js c=50 len=1024 type="buffer" benchmarker="wrk"                                                                                                        0.486761292
 http/cluster.js c=50 len=1024 type="bytes" benchmarker="wrk"                                                                                                         0.890271279
 http/cluster.js c=50 len=4 type="buffer" benchmarker="wrk"                                                                                                           0.524609995
 http/cluster.js c=50 len=4 type="bytes" benchmarker="wrk"                                                                                                            0.636321879
 http/create-clientrequest.js n=1000000 len=1                                                                                                                         0.059878572
 http/create-clientrequest.js n=1000000 len=128                                                                                                                       0.050125578
 http/create-clientrequest.js n=1000000 len=16                                                                                                                        0.132090238
 http/create-clientrequest.js n=1000000 len=32                                                                                                                        0.283685088
 http/create-clientrequest.js n=1000000 len=64                                                                                                                        0.305695889
 http/create-clientrequest.js n=1000000 len=8                                                                                                                         0.395510882
 http/end-vs-write-end.js method="end" c=100 len=1048576 type="asc" benchmarker="wrk"                                                                                 0.052253505
 http/end-vs-write-end.js method="end" c=100 len=1048576 type="buf" benchmarker="wrk"                                                                                 0.823166692
 http/end-vs-write-end.js method="end" c=100 len=1048576 type="utf" benchmarker="wrk"                                                                                 0.567031825
 http/end-vs-write-end.js method="end" c=100 len=131072 type="asc" benchmarker="wrk"                                                                                  0.949556437
 http/end-vs-write-end.js method="end" c=100 len=131072 type="buf" benchmarker="wrk"                                                                                  0.861448678
 http/end-vs-write-end.js method="end" c=100 len=131072 type="utf" benchmarker="wrk"                                                                                  0.122124957
 http/end-vs-write-end.js method="end" c=100 len=262144 type="asc" benchmarker="wrk"                                                                                  0.620504929
 http/end-vs-write-end.js method="end" c=100 len=262144 type="buf" benchmarker="wrk"                                                                                  0.433535806
 http/end-vs-write-end.js method="end" c=100 len=262144 type="utf" benchmarker="wrk"                                                                                  0.016537395
 http/end-vs-write-end.js method="end" c=100 len=65536 type="asc" benchmarker="wrk"                                                                                   0.953870941
 http/end-vs-write-end.js method="end" c=100 len=65536 type="buf" benchmarker="wrk"                                                                                   0.798745715
 http/end-vs-write-end.js method="end" c=100 len=65536 type="utf" benchmarker="wrk"                                                                                   0.226902272
 http/end-vs-write-end.js method="write" c=100 len=1048576 type="asc" benchmarker="wrk"                                                                               0.428445450
 http/end-vs-write-end.js method="write" c=100 len=1048576 type="buf" benchmarker="wrk"                                                                               0.497782944
 http/end-vs-write-end.js method="write" c=100 len=1048576 type="utf" benchmarker="wrk"                                                                               0.027403655
 http/end-vs-write-end.js method="write" c=100 len=131072 type="asc" benchmarker="wrk"                                                                                0.018131957
 http/end-vs-write-end.js method="write" c=100 len=131072 type="buf" benchmarker="wrk"                                                                                0.975768296
 http/end-vs-write-end.js method="write" c=100 len=131072 type="utf" benchmarker="wrk"                                                                                0.251970054
 http/end-vs-write-end.js method="write" c=100 len=262144 type="asc" benchmarker="wrk"                                                                                0.521147242
 http/end-vs-write-end.js method="write" c=100 len=262144 type="buf" benchmarker="wrk"                                                                                0.862914102
 http/end-vs-write-end.js method="write" c=100 len=262144 type="utf" benchmarker="wrk"                                                                                0.610725973
 http/end-vs-write-end.js method="write" c=100 len=65536 type="asc" benchmarker="wrk"                                                                                 0.094632514
 http/end-vs-write-end.js method="write" c=100 len=65536 type="buf" benchmarker="wrk"                                                                                 0.775608975
 http/end-vs-write-end.js method="write" c=100 len=65536 type="utf" benchmarker="wrk"                                                                                 0.300310443
 http/http_server_for_chunky_client.js type="send" n=2000 len=1                                                                                                       0.808044361
 http/http_server_for_chunky_client.js type="send" n=2000 len=128                                                                                                     0.400114591
 http/http_server_for_chunky_client.js type="send" n=2000 len=16                                                                                                      0.156923085
 http/http_server_for_chunky_client.js type="send" n=2000 len=32                                                                                                      0.934800422
 http/http_server_for_chunky_client.js type="send" n=2000 len=4                                                                                                       0.392600002
 http/http_server_for_chunky_client.js type="send" n=2000 len=64                                                                                                      0.883773084
 http/http_server_for_chunky_client.js type="send" n=2000 len=8                                                                                                       0.651925289
 http/http_server_for_chunky_client.js type="send" n=500 len=1                                                                                                        0.555603188
 http/http_server_for_chunky_client.js type="send" n=500 len=128                                                                                                      0.130009600
 http/http_server_for_chunky_client.js type="send" n=500 len=16                                                                                                       0.166109941
 http/http_server_for_chunky_client.js type="send" n=500 len=32                                                                                                       0.524636253
 http/http_server_for_chunky_client.js type="send" n=500 len=4                                                                                                        0.577928801
 http/http_server_for_chunky_client.js type="send" n=500 len=64                                                                                                       0.402390496
 http/http_server_for_chunky_client.js type="send" n=500 len=8                                                                                                        0.286009982
 http/http_server_for_chunky_client.js type="send" n=50 len=1                                                                                                         0.616849153
 http/http_server_for_chunky_client.js type="send" n=50 len=128                                                                                                       0.415081557
 http/http_server_for_chunky_client.js type="send" n=50 len=16                                                                                                        0.893447469
 http/http_server_for_chunky_client.js type="send" n=50 len=32                                                                                                        0.115193555
 http/http_server_for_chunky_client.js type="send" n=50 len=4                                                                                                         0.736024240
 http/http_server_for_chunky_client.js type="send" n=50 len=64                                                                                                        0.750463302
 http/http_server_for_chunky_client.js type="send" n=50 len=8                                                                                                         0.521149748
 http/http_server_for_chunky_client.js type="send" n=5 len=1                                                                                                          0.157064696
 http/http_server_for_chunky_client.js type="send" n=5 len=128                                                                                                        0.669013905
 http/http_server_for_chunky_client.js type="send" n=5 len=16                                                                                                         0.728347477
 http/http_server_for_chunky_client.js type="send" n=5 len=32                                                                                                         0.110009412
 http/http_server_for_chunky_client.js type="send" n=5 len=4                                                                                                          0.263930779
 http/http_server_for_chunky_client.js type="send" n=5 len=64                                                                                                         0.037695849
 http/http_server_for_chunky_client.js type="send" n=5 len=8                                                                                                          0.859687082
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                   0.102970953
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                    0.294659753
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                     0.033331187
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                      0.463456605
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                        0.199269432
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                         0.500268355
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                   0.995916191
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                    0.360999116
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                     0.268169912
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                      0.557174401
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                        0.301550217
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                         0.370242757
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                    0.634623952
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                     0.379576635
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                      0.805251931
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                       0.661127388
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                         0.332063462
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                          0.764911002
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                    0.058909719
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                     0.003042211
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                      0.700229116
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                       0.753873561
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                         0.377008358
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                          0.323000373
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                   0.817185179
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                    0.265487160
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                     0.465590094
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                      0.691476809
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                        0.462300146
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                         0.589960989
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                   0.748276533
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                    0.147878510
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                     0.466343146
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                      0.177014544
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                        0.252504719
 http/simple.js res="normal" chunkedEnc=1 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                         0.052079212
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                    0.042957113
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                     0.162414083
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                      0.376135134
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                       0.717997309
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                         0.449034797
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                          0.043859479
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                    0.442344474
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                     0.172312668
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                      0.618747882
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                       0.155775789
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                         0.326620579
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                          0.284624930
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                0.500161118
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                 0.708400929
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                  0.393879868
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                   0.936847374
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                     0.338861326
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                      0.659937113
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                0.050529395
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                 0.010674507
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                  0.851275431
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                   0.730822949
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                     0.728315409
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                      0.679205585
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                 0.211055547
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                  0.466622468
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                   0.499753241
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                    0.607884272
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                      0.530202075
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                       0.461658490
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                 0.336657486
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                  0.058910965
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                   0.922580119
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                    0.203468835
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                      0.329624442
 http/simple.js res="setHeader" chunkedEnc=0 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                       0.596089727
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                0.352003103
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                 0.390956375
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                  0.302599260
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                   0.624440879
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                     0.736412479
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                      0.330141576
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                0.944991192
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                 0.564838620
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                  0.011518157
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                   0.597958516
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                     0.887836958
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                      0.547722791
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                 0.601217354
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                  0.436737459
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                   0.998399563
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                    0.916205488
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                      0.042312883
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                       0.941043797
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                 0.927104558
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                  0.503564918
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                   0.716210947
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                    0.860104022
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                      0.399053072
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                       0.783733663
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                              0.672353444
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                               0.384068209
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                0.036536744
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                 0.937971022
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                   0.762745147
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                    0.545993175
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                              0.845366016
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                               0.104928351
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                0.761636206
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                 0.438514853
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                   0.784988447
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                    0.123882408
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                               0.512728016
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                0.628313814
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                 0.758742023
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                  0.060265029
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                    0.926660922
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                     0.034661601
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                               0.111223897
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                0.348427519
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                 0.207791386
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                  0.364230884
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                    0.586097811
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                     0.698693334
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                              0.256673232
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                               0.639757433
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                0.093678620
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                 0.237964240
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                   0.562338139
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                    0.295766056
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                              0.789505704
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                               0.445999519
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                0.945989784
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                 0.101917519
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                   0.611998137
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=500 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                    0.798393818
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                               0.230565401
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=102400 type="bytes" benchmarker="wrk"                                                                0.927649071
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                 0.494909486
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=1024 type="bytes" benchmarker="wrk"                                                                  0.823060594
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                    0.880901625
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                     0.560973667
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                               0.001697172
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                0.776013998
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                 0.975380653
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=1024 type="bytes" benchmarker="wrk"                                                                  0.476034441
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=4 type="buffer" benchmarker="wrk"                                                                    0.772147701
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=4 type="bytes" benchmarker="wrk"                                                                     0.661739215
 http/upgrade.js n=1000                                                                                                                                               0.741930909
 http/upgrade.js n=5                                                                                                                                                  0.563524110
Notifying upstream projects of job completion
Finished: SUCCESS
See significant benchmark results
                                                                                                                                                                      improvement confidence
 http/bench-parser.js n=100000 len=8                                                                                                                                       5.35 %          *
 http/check_is_http_token.js n=1000000 key="version"                                                                                                                      -6.11 %          *
 http/check_is_http_token.js n=1000000 key="中文呢"                                                                                                                       -6.95 %          *
 http/chunked.js c=100 len=1 n=1 benchmarker="wrk"                                                                                                                         0.19 %         **
 http/chunked.js c=100 len=256 n=4 benchmarker="wrk"                                                                                                                      -0.13 %          *
 http/client-request-body.js method="write" len=1024 type="asc" dur=5                                                                                                     -5.14 %          *
 http/client-request-body.js method="write" len=1024 type="buf" dur=5                                                                                                      4.57 %          *
 http/cluster.js c=50 len=102400 type="buffer" benchmarker="wrk"                                                                                                           2.80 %          *
 http/end-vs-write-end.js method="end" c=100 len=262144 type="utf" benchmarker="wrk"                                                                                      -1.76 %          *
 http/end-vs-write-end.js method="write" c=100 len=1048576 type="utf" benchmarker="wrk"                                                                                   -5.60 %          *
 http/end-vs-write-end.js method="write" c=100 len=131072 type="asc" benchmarker="wrk"                                                                                    -5.13 %          *
 http/http_server_for_chunky_client.js type="send" n=5 len=64                                                                                                              9.87 %          *
 http/simple.js res="normal" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                         -5.20 %          *
 http/simple.js res="normal" chunkedEnc=0 c=50 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                          5.08 %         **
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=102400 type="buffer" benchmarker="wrk"                                                                         5.65 %          *
 http/simple.js res="normal" chunkedEnc=1 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                               2.83 %          *
 http/simple.js res="setHeader" chunkedEnc=0 c=500 chunks=4 len=102400 type="bytes" benchmarker="wrk"                                                                     -5.72 %          *
 http/simple.js res="setHeader" chunkedEnc=1 c=500 chunks=4 len=1024 type="buffer" benchmarker="wrk"                                                                       6.69 %          *
 http/simple.js res="setHeader" chunkedEnc=1 c=50 chunks=1 len=4 type="buffer" benchmarker="wrk"                                                                          -3.54 %          *
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=500 chunks=1 len=1024 type="buffer" benchmarker="wrk"                                                                     4.49 %          *
 http/simple.js res="setHeaderWH" chunkedEnc=0 c=50 chunks=1 len=4 type="bytes" benchmarker="wrk"                                                                         -3.60 %          *
 http/simple.js res="setHeaderWH" chunkedEnc=1 c=50 chunks=4 len=102400 type="buffer" benchmarker="wrk"                                                                    8.05 %         **

Also, see https://gist.github.com/joyeecheung/b55c88ee465d552d7ed1dc34e67305ea on how to grab the results (hmm, looks like a good candidate of node-core-utils)

@indutny
Copy link
Member Author

indutny commented Jan 25, 2018

Thanks!

Looks like benchmarks are inconclusive. Some are 10% faster, some are 10% slower. Unless there're any objections to this, I'd like to land for the sake of correctness of code.

@indutny
Copy link
Member Author

indutny commented Jan 27, 2018

Landed in f29c2cb, thank you!

@indutny indutny closed this Jan 27, 2018
@indutny indutny deleted the fix/there-is-no-corked-property-on-stream-why-is-it-checking-it branch January 27, 2018 05:48
indutny added a commit that referenced this pull request Jan 27, 2018
Do not check/use unexistent property, use `OutgoingMessage` instead.

PR-URL: #18325
Reviewed-By: Mithun Sasidharan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
evanlucas pushed a commit that referenced this pull request Jan 30, 2018
Do not check/use unexistent property, use `OutgoingMessage` instead.

PR-URL: #18325
Reviewed-By: Mithun Sasidharan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@MylesBorins
Copy link
Contributor

Should we land this on LTS? It lands cleanly on 8.x, but would need to be backproted for 6.x

@indutny
Copy link
Member Author

indutny commented Feb 27, 2018

I wouldn't bother.

MayaLekova pushed a commit to MayaLekova/node that referenced this pull request May 8, 2018
Do not check/use unexistent property, use `OutgoingMessage` instead.

PR-URL: nodejs#18325
Reviewed-By: Mithun Sasidharan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
http Issues or PRs related to the http subsystem.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants