Skip to content

Commit 4b90274

Browse files
committed
Add detail on zero-copy streaming
1 parent cc83d23 commit 4b90274

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

adrs/002-runtimes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Key properties:
2727
- **No wall-clock timeout.** CPU time limits apply per invocation, but streaming large objects is not killed mid-response due to elapsed time.
2828
- **Predictable, low cost.** $5/mo base, $0.30/M requests, $0.02/M CPU-ms; 10M requests + 30M CPU-ms included.
2929
- **WASM compatibility.** Rust compiles to WASM with mature toolchain support (`wasm-pack`, `worker-rs`).
30+
- **Zero-copy streaming via multistore.** Multistore passes request and response bodies through in unaltered form, allowing each runtime to specify its own body type. For the Workers runtime, this means bodies remain as `web_sys::ReadableStream` — data flows between the caller and upstream storage without being converted into Rust types or passing through the WASM CPU boundary. This is critical for staying within Workers' CPU time limits when proxying large objects.
3031

3132
> [!NOTE]
3233
> **Future extension: Regional ECS deployments.** For high-throughput, in-region workflows — data pipelines (Spark, Databricks, Polars) running in the same cloud region as the source data — routing through an edge node adds unnecessary hops and egress fees. Regional ECS deployments running the same Rust core could serve these workloads with lower latency and zero cross-region egress. Multistore is designed to support additional runtime targets without code divergence. This can be pursued when there is demonstrated demand.

0 commit comments

Comments
 (0)