diff options
author | Matt Mastracci <matthew@mastracci.com> | 2023-09-23 08:55:28 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-23 14:55:28 +0000 |
commit | 06297d952d61af180e214f7d6923e6820202740a (patch) | |
tree | acf87c53d030f3de2a5484b1516b1c0f6f571d43 /ext/web/lib.rs | |
parent | b1ca67ac01278198eada8da0c61b74b55dea4a77 (diff) |
feat(ext/web): use readableStreamDefaultReaderRead in resourceForReadableStream (#20622)
We can go one level down in abstraction and avoid using the public
`ReadableStream` APIs.
This patch ~5% perf boost on small ReadableStream:
```
Running 10s test @ http://localhost:8080/
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 148.32us 108.95us 3.88ms 95.71%
Req/Sec 33.24k 2.68k 37.94k 73.76%
668188 requests in 10.10s, 77.74MB read
Requests/sec: 66162.91
Transfer/sec: 7.70MB
```
main:
```
Running 10s test @ http://localhost:8080/
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 150.23us 67.61us 4.39ms 94.80%
Req/Sec 31.81k 1.55k 35.56k 83.17%
639078 requests in 10.10s, 74.36MB read
Requests/sec: 63273.72
Transfer/sec: 7.36MB
```
Diffstat (limited to 'ext/web/lib.rs')
-rw-r--r-- | ext/web/lib.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ext/web/lib.rs b/ext/web/lib.rs index 88937efb2..ebdb6b39e 100644 --- a/ext/web/lib.rs +++ b/ext/web/lib.rs @@ -95,6 +95,7 @@ deno_core::extension!(deno_web, stream_resource::op_readable_stream_resource_get_sink, stream_resource::op_readable_stream_resource_write_error, stream_resource::op_readable_stream_resource_write_buf, + stream_resource::op_readable_stream_resource_write_sync, stream_resource::op_readable_stream_resource_close, stream_resource::op_readable_stream_resource_await_close, ], |