flume
A safe and fast multi-producer, multi-consumer channel. (by zesterer)
rust-cli-boilerplate
Rust project boilerplate for CLI applications (by ssokolow)
Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
flume | rust-cli-boilerplate | |
---|---|---|
13 | 4 | |
1,983 | 177 | |
- | - | |
0.0 | 0.0 | |
2 months ago | over 2 years ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
flume
Posts with mentions or reviews of flume.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-10.
- pub/sub Event bus in rust
-
Is there any part of the Standard Library that really impresses you?
I also like flume, it has impressive performance (although not the best). More importantly, it's written only with safe rust. https://github.com/zesterer/flume
-
appreciating fearless concurrency
The most commonly suggested replacement for mspc is crossbeam-channel; flume is also relatively popular.
-
Rust has a small standard library (and that's ok)
It's not officially deprecated, but the alternatives on crates.io are considered better. flume and crossbeam-channel feature less unsafe code and offer better performance. Benchmarks.
-
Why are so many important features not in standard library yet?
it's slow (checkout flume's benchmarks for example)
-
A mini-Erlang/Elixir -- tell me if/why my idea sucks
For concurrency/parallelism, you launch at most 2 * CPU Cores, PIN them and use a fast broker to spread the task (like a ring buffer or an MPSC). But you keep linear scan, tight loops, SIMD friendly data, on each. You are not switching context that much, and instead, bet you will process the batch fast. (CPUs are fast today!)
- Whats your favourite open source Rust project that needs more recognition?
-
PlaintDB Serves - another milestone reached
First, I was becoming more and more confident that the channel library Daxpedda and I fell in love with, flume, was misbehaving, but I couldn't seem to reproduce it outside of the massive PliantDB codebase. I finally called up Daxpedda on Discord and screen shared my debugging session, showing him how the tests succeeded if I retained a channel. If I allowed the sender to drop after successfully sending, sometimes the tests would fail. He agreed, something was odd. It took me a while, but I finally whittled it down to about 30 lines of code and reported the issue. In an amazingly quick fashion, the maintainer fixed the issue and released an update. And for the record, I still fully love and recommend this library if you're mixing async and non-async code using channels. It's a wonderful implementation.
-
single-producer single-consumer concurrent queue
Sort of? Here's the closest thing you'll probably find: https://crates.io/crates/flume
-
Hey Rustaceans! Got an easy question? Ask here (6/2021)!
My first try was with flume, which uses a single producer, multi-consumer setup, and while it compiles and runs, it's magnitudes slower than the serial version. Here's a psuedocode rendition:
rust-cli-boilerplate
Posts with mentions or reviews of rust-cli-boilerplate.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-20.
-
Why are so many important features not in standard library yet?
There's enough disagreement over personal taste that there are various repositories (eg. my CLI boilerplate vs. Rust Starter) but none especially dominant.
-
Rust for simple tasks
I put together this project boilerplate but, now, I'm exploring building a set of Vim snippets so I can use rust-script as my starting point and migrate to the project boilerplate later.
-
Best way to handle verbose/optional output in a CLI program?
I use stderrlog with the log facade, as can be seen in my CLI boilerplate.
-
rust-starter: boilerplate to build Rust CLI applications
Hmm. I'll have to see what of that I can borrow for mine when I have time to work on it again.
What are some alternatives?
When comparing flume and rust-cli-boilerplate you can also consider the following projects:
uniffi-rs - a multi-language bindings generator for rust
rust-starter - Rust Starter Project
rust-script - Run Rust files and expressions as scripts without any setup or compilation step.
env_logger - A logging implementation for `log` which is configured via an environment variable.
tracing - Application level tracing for Rust.
rust - Empowering everyone to build reliable and efficient software.
cargo-script - Cargo script subcommand
async-wormhole
weather_bandit - Dragon App (Weather bandit a personal weather forecast expert with a mask)
log - Logging implementation for Rust
Cargo - The Rust package manager
huber - Huber 📦, Package Install Manager for GitHub repos