tokio-uring
tokio
tokio-uring | tokio | |
---|---|---|
32 | 212 | |
1,177 | 27,606 | |
2.5% | 1.5% | |
4.4 | 9.5 | |
6 months ago | 6 days ago | |
Rust | Rust | |
MIT License | MIT License |
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.
tokio-uring
-
The design of Tokio-uring: Linux io_uring support for Rust
Link should be: https://github.com/tokio-rs/tokio-uring/blob/master/DESIGN.m...
- QUIC Is Not Quick Enough over Fast Internet
-
Gazette: Cloud-native millisecond-latency streaming
I feel a bit paralyzed by Fear Of Missing Io_Uring. There's so much awesome streaming stuff about (RisingWave, Materialize, NATS, DataFusion, Velox, many more), but it all feels built on slower legacy system libraries.
It's not heavily used yet, but Rust has a bunch of fairly high visibility efforts. Situation sort of feels similar with http3, where the problem is figuring out what to pick. https://github.com/tokio-rs/tokio-uring https://github.com/bytedance/monoio https://github.com/DataDog/glommio
- tokio_fs crate
-
Use io_uring for network I/O
While Mio will probably not implement uring in its current design, there's https://github.com/tokio-rs/tokio-uring if you want to use io_uring in Rust.
It's still in development, but the Tokio team seems intent on getting good io_uring support at least!
As the README states, the Rust implementation requires a kernel newer than the one that shipped with Ubuntu 20.04 so I think it'll be a while before we'll see significant development among major libraries.
-
Create a data structure for low latency memory management
That's what the pool is for: https://github.com/tokio-rs/tokio-uring/blob/master/src/buf/fixed/pool.rs
-
Cloudflare Ditches Nginx for In-House, Rust-Written Pingora
Tokio supports io_uring (https://github.com/tokio-rs/tokio-uring), so perhaps when it's mature and battle-tested, it'd be easier to transition to it if Cloudflare aren't using it already.
-
Anyone using io_uring?
- Tokio suffers from a similar problem
-
redb 0.4.0: 2x faster commits with 1PC+C instead of 2PC
Eg via tokio-uring.
-
Efficient way to read multiple files in parallel
I strongly recommend you to look into io-uring and use async executors that take advantages of it: - tokio-uring (not recommended as it is still undergoing development) - monoio - glommio
tokio
-
SSH port forwarding from within Rust code
We will be using tokio async framework and russh crates. Add them to your project:
-
Step-by-Step Guide to Server-Side Render React with Rust
For this example, we will use axum, a web framework that works on top of tokio.
-
Using Polars in Rust for high-performance data analysis
We’ll use Axum with Tokio to build a web backend, Tracing for logging, and Serde for serialization and deserialization.
-
My Contribution to Deno 2.0
Deno (/ˈdiːnoʊ/, pronounced dee-no) is a JavaScript, TypeScript, and WebAssembly runtime with secure defaults and a great developer experience. It's built on V8 Rust, and Tokio.
-
Async Rust in Three Parts
> if it compiles it typechecks is kind of tautological
It's not tautological at all, because the type system in Rust and Haskell is not a trivial condition of the language.
> not particularly effective as a saying or slogan
Neither is "if it compiles it runs", rather less so in fact, everyone is sick of hearing it, and rolls their eyes so hard it's actually audible.
Every one of these 764 bugs compiled and passed type checks:
https://github.com/tokio-rs/tokio/labels/C-bug
Not picking on tokio in particular, mind you, finding and fixing bugs is a sign of quality in a library or program.
> I believe it’s meant to be more of a “works, relative to what you might expect from other languages” kind of thing versus, “is a completely perfect program.”
Which is why I describe it as meaningless puffery. What you're saying here is that you know full well it isn't true, but want to keep saying it anyway. My reply is find a way to express yourself which is true, rather than false. I bet you can figure one out.
-
Declarative macro magic from Axum in Rust
Axum is one of the most popular web frameworks in Rust. Its compatibility with the Tokio ecosystem and its powerful syntax, among other features, keep it near the front of the pack.
-
Encore.ts — 3x faster than ElysiaJS & Hono
A high-performance runtime, with a multi-threaded, asynchronous event loop written in Rust (using Tokio and Hyper).
-
Building a JavaScript Runtime in Rust powered by the Nova engine
Tokio: Asynchronous Runtime for Rust
- Rewriting Rust
- Tokio: A runtime for writing reliable asynchronous applications with Rust
What are some alternatives?
libuv - Cross-platform asynchronous I/O
async-std - Async version of the Rust standard library
glommio - Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.
Rocket - A web framework for Rust.
liburing - Library providing helpers for the Linux kernel io_uring support
hyper - An HTTP library for Rust
monoio - Rust async runtime based on io-uring.
futures-rs - Zero-cost asynchronous programming in Rust
diesel_async - Diesel async connection implementation
smol - A small and fast async runtime for Rust
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.