diff options
| author | eunhhu <[email protected]> | 2026-09-28 19:41:08 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-28 19:41:08 +0100 |
| commit | 63cc9554f2cd93e46d0413a21cbce05014e2f2b3 (patch) | |
| tree | 1479bb368b8fa4d2dcac3c43d73c9b34ffca41dc /research/experiments/019-idle-links/quic/Cargo.toml | |
| parent | a83d663404e030a8734fddc8827fb4afe309a1b9 (diff) | |
| download | pure-63cc9554f2cd93e46d0413a21cbce05014e2f2b3.tar.gz pure-63cc9554f2cd93e46d0413a21cbce05014e2f2b3.zip | |
Measure a link at rest: 132 bytes against a QUIC connection's 38,106 (094)
M1 of design 011. A Pure node allows 1,000 to 1,000,000 senders; each
sends one order and, once told it is stored, rests. At rest a link costs
the node 132 bytes (the sender allowed, 73; its number heard, about 60)
and no transport state; with a million the node runs in 139 MB. A quinn
0.11 service holding the same exchange's clients connected at rest costs
38,106 bytes a connection: 289 times as much, past the design's 1/100.
A link at rest takes its next record in 0.56 ms to stored, one X25519 on
the node included; a new QUIC connection takes 1.06 ms and 2.8 times the
receiver's CPU, without storing.
research/experiments/019-idle-links: links.c, many senders written from
serve/link.h's packet format alone (a second implementation), and the
quinn service and clients (quic/, built offline); run.py makes both
measurements.
Diffstat (limited to 'research/experiments/019-idle-links/quic/Cargo.toml')
| -rw-r--r-- | research/experiments/019-idle-links/quic/Cargo.toml | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/research/experiments/019-idle-links/quic/Cargo.toml b/research/experiments/019-idle-links/quic/Cargo.toml new file mode 100644 index 0000000..cc0f527 --- /dev/null +++ b/research/experiments/019-idle-links/quic/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "idle-quic" +version = "0.1.0" +edition = "2021" +publish = false + +# The QUIC side of M1 (../run.py, docs/design/011-pure-transport.md): quinn +# 0.11 with rustls and ring, as a Rust service would use it. +[dependencies] +quinn = { version = "0.11", default-features = false, features = ["rustls-ring", "runtime-tokio"] } +rustls = { version = "0.23", default-features = false, features = ["ring", "std"] } +tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "time", "net", "sync", "io-util", "io-std"] } +ring = "0.17" + +[profile.release] +debug = 1 + +[workspace] |
