README: update to reflect that aquatic_udp glommio impl was removed

This commit is contained in:
Joakim Frostegård 2021-11-18 22:34:33 +01:00
parent 8dd9177c40
commit fb5d0b1302

View file

@ -15,7 +15,7 @@ of sub-implementations for different protocols:
| Name | Protocol | OS requirements |
|--------------|--------------------------------------------|------------------------------------------------------------|
| aquatic_udp | [BitTorrent over UDP] | Unix-like with [mio] (default) / Linux 5.8+ with [glommio] |
| aquatic_udp | [BitTorrent over UDP] | Unix-like |
| aquatic_http | [BitTorrent over HTTP] with TLS ([rustls]) | Linux 5.8+ |
| aquatic_ws | [WebTorrent] | Unix-like with [mio] (default) / Linux 5.8+ with [glommio] |
@ -48,7 +48,6 @@ Compile the implementations that you are interested in:
. ./scripts/env-native-cpu-without-avx-512
cargo build --release -p aquatic_udp
cargo build --release -p aquatic_udp --features "with-glommio" --no-default-features
cargo build --release -p aquatic_http
cargo build --release -p aquatic_ws
cargo build --release -p aquatic_ws --features "with-glommio" --no-default-features
@ -122,20 +121,15 @@ except that it:
Supports IPv4 and IPv6 (BitTorrent UDP protocol doesn't support IPv6 very well,
however.)
#### Alternative implementation using io_uring
[io_uring]: https://en.wikipedia.org/wiki/Io_uring
[glommio]: https://github.com/DataDog/glommio
There is an alternative implementation that utilizes [io_uring] by running on
[glommio]. It only runs on Linux and requires a recent kernel (version 5.8 or later).
#### Performance
![UDP BitTorrent tracker throughput comparison](./documents/aquatic-udp-load-test-illustration-2021-11-08.png)
More details are available [here](./documents/aquatic-udp-load-test-2021-11-08.pdf).
Since making this benchmark, I have improved the mio-based implementation
considerably and removed the glommio-based implementation.
### aquatic_http: HTTP BitTorrent tracker
[HTTP BitTorrent protocol]: https://wiki.theory.org/index.php/BitTorrentSpecification#Tracker_HTTP.2FHTTPS_Protocol