2024-01-01 14:58:21 -05:00
|
|
|
# Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2020-08-07 10:55:02 -04:00
|
|
|
|
|
|
|
[package]
|
|
|
|
name = "deno_web"
|
2024-09-04 13:16:24 -04:00
|
|
|
version = "0.199.0"
|
2022-11-22 15:07:35 -05:00
|
|
|
authors.workspace = true
|
|
|
|
edition.workspace = true
|
|
|
|
license.workspace = true
|
2020-08-07 10:55:02 -04:00
|
|
|
readme = "README.md"
|
2022-11-22 15:07:35 -05:00
|
|
|
repository.workspace = true
|
2021-08-02 10:19:27 -04:00
|
|
|
description = "Collection of Web APIs"
|
2020-08-07 10:55:02 -04:00
|
|
|
|
|
|
|
[lib]
|
|
|
|
path = "lib.rs"
|
|
|
|
|
|
|
|
[dependencies]
|
2022-11-22 15:07:35 -05:00
|
|
|
async-trait.workspace = true
|
2023-01-18 09:35:24 -05:00
|
|
|
base64-simd = "0.8"
|
feat(ext/web): resourceForReadableStream (#20180)
Extracted from fast streams work.
This is a resource wrapper for `ReadableStream`, allowing us to treat
all `ReadableStream` instances as resources, and remove special paths in
both `fetch` and `serve`.
Performance with a ReadableStream response yields ~18% improvement:
```
return new Response(new ReadableStream({
start(controller) {
controller.enqueue(new Uint8Array([104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]));
controller.close();
}
})
```
This patch:
```
12:36 $ third_party/prebuilt/mac/wrk http://localhost:8080
Running 10s test @ http://localhost:8080
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 99.96us 100.03us 6.65ms 98.84%
Req/Sec 47.73k 2.43k 51.02k 89.11%
959308 requests in 10.10s, 117.10MB read
Requests/sec: 94978.71
Transfer/sec: 11.59MB
```
main:
```
Running 10s test @ http://localhost:8080
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 163.03us 685.51us 19.73ms 99.27%
Req/Sec 39.50k 3.98k 66.11k 95.52%
789582 requests in 10.10s, 82.83MB read
Requests/sec: 78182.65
Transfer/sec: 8.20MB
```
2023-08-17 09:52:37 -04:00
|
|
|
bytes.workspace = true
|
2022-11-22 15:07:35 -05:00
|
|
|
deno_core.workspace = true
|
2024-06-06 23:37:53 -04:00
|
|
|
deno_permissions.workspace = true
|
2022-11-22 15:07:35 -05:00
|
|
|
encoding_rs.workspace = true
|
2023-11-17 03:57:25 -05:00
|
|
|
flate2 = { workspace = true, features = ["default"] }
|
feat(ext/web): resourceForReadableStream (#20180)
Extracted from fast streams work.
This is a resource wrapper for `ReadableStream`, allowing us to treat
all `ReadableStream` instances as resources, and remove special paths in
both `fetch` and `serve`.
Performance with a ReadableStream response yields ~18% improvement:
```
return new Response(new ReadableStream({
start(controller) {
controller.enqueue(new Uint8Array([104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]));
controller.close();
}
})
```
This patch:
```
12:36 $ third_party/prebuilt/mac/wrk http://localhost:8080
Running 10s test @ http://localhost:8080
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 99.96us 100.03us 6.65ms 98.84%
Req/Sec 47.73k 2.43k 51.02k 89.11%
959308 requests in 10.10s, 117.10MB read
Requests/sec: 94978.71
Transfer/sec: 11.59MB
```
main:
```
Running 10s test @ http://localhost:8080
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 163.03us 685.51us 19.73ms 99.27%
Req/Sec 39.50k 3.98k 66.11k 95.52%
789582 requests in 10.10s, 82.83MB read
Requests/sec: 78182.65
Transfer/sec: 8.20MB
```
2023-08-17 09:52:37 -04:00
|
|
|
futures.workspace = true
|
2022-12-07 17:32:24 -05:00
|
|
|
serde = "1.0.149"
|
2022-11-22 15:07:35 -05:00
|
|
|
tokio.workspace = true
|
|
|
|
uuid = { workspace = true, features = ["serde"] }
|
2022-02-15 06:17:30 -05:00
|
|
|
|
|
|
|
[dev-dependencies]
|
2022-11-22 15:07:35 -05:00
|
|
|
deno_bench_util.workspace = true
|
2023-01-08 17:48:46 -05:00
|
|
|
deno_console.workspace = true
|
2022-11-22 15:07:35 -05:00
|
|
|
deno_url.workspace = true
|
|
|
|
deno_webidl.workspace = true
|
2022-02-15 06:17:30 -05:00
|
|
|
|
2022-05-17 09:52:48 -04:00
|
|
|
[[bench]]
|
|
|
|
name = "encoding"
|
|
|
|
harness = false
|
|
|
|
|
2022-02-15 06:17:30 -05:00
|
|
|
[[bench]]
|
|
|
|
name = "timers_ops"
|
|
|
|
harness = false
|