quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.85k stars 394 forks source link

possible to implement io uring? #1319

Closed hiqsociety closed 2 years ago

hiqsociety commented 2 years ago

https://github.com/bytedance/monoio

djc commented 2 years ago

Yes, this should be possible. I'd probably try tokio-uring before monoio but quinn-proto should allow you to build it anyway you like.

hiqsociety commented 2 years ago

monoio definitely faster than tokio uring coz it's thread per core concept.

Ralith commented 2 years ago

Note that this isn't necessarily a performance win, and may compromise conformance. For example, I'm not sure if generic receive offload is supported by io_uring yet, and that's an important contributor to making heavy UDP workloads fast. Full correctness parity will also require support for setting/getting ECN flags and the local IP address packets are addressed from/to.

That said, I'd be happy to provide guidance to someone interested in exploring this.

Ralith commented 2 years ago

Closing as a dup of https://github.com/quinn-rs/quinn/issues/915.