smol
rust
smol | rust | |
---|---|---|
9 | 2,856 | |
4,274 | 104,879 | |
1.7% | 1.0% | |
5.3 | 10.0 | |
about 1 month ago | 2 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.
smol
-
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.
- Smol: A small and fast async runtime for Rust
-
Tokio for FFI app?
There is also https://github.com/smol-rs/smol which has components which you can compose into your own executor if you still need async IO but your usage patterns don't fit into the general purpose ones that Tokio provides.
-
Tokio application structure, critical code flow.
If you need precise control over scheduling, consider building something on top of https://github.com/smol-rs/smol
- Async Rust: What is a runtime? Here is how tokio works under the hood
-
18 factors powering the Rust revolution, Part 2 of 3
Tokio is a "take what you need" framework, whilst Async-std started as an "everything the box" solution. Today both have a lot of crossover with micro async runtimes like smol becoming the foundation one of framework and optionally usable in the other. The ability to rip out a small dependent sub-crate (dependent package) like smol and use it independently with ease never get's boring, by the way. It's great way to include a test runtime in an async library without forcing the inclusion of a giant async framework.
-
[Question] Is Tokio a poor fit for non-network related concurrent applications?
Helix uses tokio. smol might be a good alternative however.
-
Async feedback from 2 years of usage
No, still active on GitHub. What gave you that idea? https://github.com/smol-rs/smol
-
Tokio, the async runtime for Rust, hits 1.0
Found the issue in Google cache. I'm not sure it's really fair of me to post this link here, but equally I think it's better to give the actual text rather than leave it vague.
https://webcache.googleusercontent.com/search?q=cache:PRjMyv...
rust
-
Tree Borrows
I am very sorry, but you do not address that TBAA, like C has by default, generally is easier than just no aliasing, like what Rust has for mutable references. This is a major difference. C code can opt into a similar kind of aliasing, namely by using _restrict_, but that is opt-in, while it is always on for Rust.
And there is newer UB as well in Rust stdlib
https://github.com/rust-lang/rust/pull/139553
- # [derive(Clone)] Is Broken
-
My first verified (imperative) program
Real-world programs can be verified by formally proving properties on a small part of the code (called the kernel) in a way that transitively guarantees those for the remaining code.
For example, Rust's borrow checker guarantees* memory safety of any code written in Rust, even a 10M+ LOC project. Another example is sel4, a formally-verified micro-kernel (https://sel4.systems/About/seL4-whitepaper.pdf).
* Technically not; even if the code doesn't use `unsafe`, not only is Rust's borrow checker not formally verified, there are soundness holes (https://github.com/rust-lang/rust/issues?q=is%3Aopen%20is%3A...). However, in theory it's possible to formally prove that a subset of Rust can only encode memory-safe programs, and in practice Rust's borrow checker is so effective that a 10M+ LOC project without unsafe will still probably not have memory issues.
-
The Technology Behind SmoothCSV - The Ultimate CSV Editor
Backend: Rust
-
Weird Expressions in Rust
What's weird about this?
To understand what evil_lincoln is doing, you have to understand very old Rust. Here's the commit that introduced it: https://github.com/rust-lang/rust/commit/664b0ad3fcead4fe4d2...
fn evil_lincoln() {
-
"Why is the Rust compiler so slow?"
Side note: There's an effort to cache proc macro invocations so that they get executed only once if the item they annotate hasn't changed: https://github.com/rust-lang/rust/pull/129102
There are multiple caveats on providing this to users (we can't assume that macro invocations are idempotent, so the new behavior would have to be opt in, and this only benefits incremental compilation), but it's in our radar.
- Naked functions are now stable in Rust 1.88
-
Building an iOS App with Rust Using UniFFI
Rust: Install it from the official Rust website.
- rlox: A Rust Implementation of “Crafting Interpreters” – Scanner
- 🏳️⚧️ Pride Hero: LGBTQ+ Landing Page for WASM Frameworks
What are some alternatives?
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
async-std - Async version of the Rust standard library
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
bastion - Highly-available Distributed Fault-tolerant Runtime
Odin - Odin Programming Language