Commit 548cacf
committed
http2: refactor outgoing write mechanism
- Only finish outgoing `WriteWrap`s once data has actually been
passed to the underlying socket.
- This makes HTTP2 streams respect backpressure
- Use `DoTryWrite` as a shortcut for sending out as much of
the data synchronously without blocking as possible
- Use `NGHTTP2_DATA_FLAG_NO_COPY` to avoid copying DATA frame
contents into nghttp2’s buffers before sending them out.
$ ./node benchmark/compare.js --new ./node --old ./node-before --runs 10 --filter write --set streams=20 --set length=1024 --set size=16 http2 | Rscript benchmark/compare.R
[00:02:30|% 100| 1/1 files | 20/20 runs | 1/1 configs]: Done
improvement confidence p.value
http2/write.js benchmarker="h2load" size=16 length=1024 streams=20 6.88 % *** 2.261566e-081 parent beb929a commit 548cacf
2 files changed
+232
-115
lines changed
0 commit comments