aquatic
glommio
Our great sponsors
aquatic | glommio | |
---|---|---|
16 | 29 | |
452 | 2,835 | |
- | 2.3% | |
9.5 | 6.8 | |
7 days ago | 8 days ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
aquatic
-
Bitmagnet Allows People to Run Their Own Decentralized Torrent Indexer Locally
How does Bitmagnet compare to Aquatic? https://github.com/greatest-ape/aquatic
-
Hey Rustaceans! Got a question? Ask here (22/2023)!
I have a question on UnsafeCell usage that popped up while implementing io_uring support for aquatic_udp. I find the docs slightly confusing (in particular the part that I've marked in bold):
-
aquatic_udp (UDP BitTorrent tracker) performance improvements: up to 2.25 million responses per second
I've done a new round of benchmarking of open UDP BitTorrent tracker implementations. Results were great for aquatic_udp, achieving double the throughput of opentracker when running on 8 CPU cores:
-
WebTorrent
If you run your tracker on Linux and an info hash whitelist approach would work for your use case, it might be worthwhile having a look at aquatic_ws [0]. It relies on tungstenite [1] for websockets and achieves around 20x the throughput of the reference implementation when running with four threads.
[0] https://github.com/greatest-ape/aquatic
- Aquatic: High-performance open BitTorrent tracker
-
Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.60]
aquatic, a multithreaded BitTorrent tracker with world-leading performance
-
aquatic_ws (WebTorrent tracker) rewritten with glommio, achieves up to 1.6 million responses a second in load tests
But aquatic_udp doesn't use glommio.. https://github.com/greatest-ape/aquatic/pull/29
- aquatic: extremely performant BitTorrent tracker software (UDP, HTTP, WebTorrent) achieving up to 1.6 million responses per second
-
aquatic: extremely performant open BitTorrent tracker software (UDP, HTTP, WebTorrent)
aquatic is a Apache 2.0-licensed BitTorrent tracker written in Rust that I have developed over the last couple of years. It focuses on correctness, stability and high performance.
-
Torrust, a lightweight but incredibly powerful and feature-rich (private) BitTorrent Tracker + Torrent Index written in Rust.
The udp request parsing code seems to have been copied from aquatic. Please note that the Apache 2.0 license requires attribution.
glommio
-
I want to share my latest hobby project, dbeel: A distributed thread-per-core nosql db written in rust
I used glommio as the async executor (instead of something like tokio), and it is wonderful. For people wondering whether it's "good enough" or to use C++ and seastar (as I have thought about a lot before starting this project), take the leap of faith, it's fast - both in terms of run time and to code.
-
The State of Async Rust
My understanding is you always need a runtime, somethings needs to drive the async flow. But there are others on the market, just not without the.. market domination... of tokio.
https://github.com/smol-rs/smol looks promising simply for being minimal
https://github.com/bytedance/monoio looks potentially easier to work with than tokio
https://github.com/DataDog/glommio is built around linux io_uring and seems somewhat promising for performance reasons.
I haven't played with any of these yet, because Tokio is unfortunately the path of least resistance. And a bit viral in how it's infected tings.
-
Learning Async Rust with Too Many Web Servers
I think you missed one which is based on io_uring [1].
In my benchmarks with a slightly tweaked version it was 2x faster than Nginx and and 30x faster than Python's SimpleHttpServer.
[1] https://github.com/DataDog/glommio/blob/master/examples/hype...
-
How much reason is there to be multi-threaded in the k8s environment
b) It's proven now e.g Seastar, Glommio that the fastest way to run a multi-threaded application is to have one instance with one thread pinned per CPU core. Then to have fibers/lightweight threads on top handling all of the asynchronous code. Your approach of lots of instances is the slowest so there will be a ton of unnecessary thread context-switching.
-
Why does Actix-web's handler not require Send?
I assume Tokio itself, see e.g monoio or glommio, but also Seastar for C++.
-
How does async Rust work
https://github.com/DataDog/glommio Rust thread per core library.
-
Use io_uring for network I/O
> Few of us have really figured out io_uring. But that doesn't mean it is slower.
seastar.io is a high level framework that I believe has "figured out" io_uring, with additional caveats the framework imposes (which is honestly freeing).
Additionally the rust equivalent: https://github.com/DataDog/glommio
-
Is async runtime (Tokio) overhead significant for a "real-time" video stream server?
This use case is perfect for https://github.com/DataDog/glommio which is a thread-per-core runtime that is appropriate for latency sensitive code.
-
Blessed.rs – An unofficial guide to the Rust ecosystem
It's worth mentioning: Under "Async Executors", for "io_uring" there is only "Glommio"
I recently found out that ByteDance has a competitor library which supposedly has better performance:
https://github.com/bytedance/monoio
https://github.com/DataDog/glommio/issues/554
-
Building a High-Performance DB Buffer Pool in Zig W\ Io_uring New Fixed-Buffers
FYI, Datadog has a Rust library for scheduling things to run thread-per-core with io_uring
It'd be really useful for DB use cases:
https://github.com/DataDog/glommio
What are some alternatives?
openwebtorrent-tracker - Fast and simple Webtorrent tracker implementation in C++
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
wt-tracker - High-performance WebTorrent tracker
tokio-uring - An io_uring backed runtime for Rust
webtorrent - ⚡️ Streaming torrent client for the web
Seastar - High performance server-side application framework
OctaSine - Frequency modulation synthesizer plugin (VST2, CLAP). Runs on macOS, Windows and Linux.
monoio - Rust async runtime based on io-uring.
bittorrent-tracker - 🌊 Simple, robust, BitTorrent tracker (client & server) implementation
MIO - Metal I/O library for Rust.
cratetorrent - A BitTorrent V1 engine library for Rust (and currently Linux)
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.