flume
Popsicle
Our great sponsors
flume | Popsicle | |
---|---|---|
14 | 13 | |
2,161 | 598 | |
- | 1.3% | |
4.4 | 6.5 | |
about 1 month ago | 3 months ago | |
Rust | Rust | |
Apache License 2.0 | 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.
flume
-
Hyperbridge: Fast multi-producer, multi-consumer unbounded channel in Rust
The repository seems abandoned; or maybe complete?
At work we use flume, which is another capable multi-producer, multi-consumer async-capable channel [1]. It's great for shuffling data between threads, as well as between async tasks, and between threads and async tasks. Basically any time you want to pieces of code to exchange data or signals without pesky shared state.
1: https://github.com/zesterer/flume
- 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)
-
Request-response communication between threads?
I would have done the same. I think, and I might be wrong, but the only other alternative, besides anything unsafe, would be to pass mutex back, but I am not sure this would be faster. Btw, I have not done testing, but you might want to look at Flume for your mpsc channels: https://github.com/zesterer/flume Flume, seems to be very fast mpsc implementation. I am planning to evaluate it for logging system.
-
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?
-
Suggestions on a fast spmc architecture.
https://crates.io/crates/flume and https://crates.io/crates/crossbeam-channel provide MPMC channels.
Popsicle
- How to make multiple OS installed USBs quickly
-
The Rust Implementation Of GNU Coreutils Is Becoming Remarkably Robust
popsicle
-
What tool do you guys use to flash the Pop! OS iso? / Pop! OS NVIDIA iso kernel panics every time I boot it because it can't find /init
I'd use Etcher primarily due to it simplicity, and it's available on several platforms. Popsicle next if you have a linux system.
-
smultaneously creating multiple recovery drives
There is also a project called Popsicle that lets you image multiple drives https://github.com/pop-os/popsicle
-
Iso and pendrive
https://github.com/pop-os/popsicle worked for me across multiple systems
-
Usb imagewriter
AppImage: https://github.com/pop-os/popsicle/releases
-
Whats your favourite open source Rust project that needs more recognition?
Rust projects that need more recognition imo are: * Zola * Spot * Popsicle * Plume
- Can you recommend a USB Drive Creator?
-
Solution! How you can disable Intel ME on Lemur Pro and Galago Pro!
https://github.com/system76/firmware-open/files/6728054/galp5-disable-me.zip https://github.com/system76/firmware-open/files/6728055/lemp10-disable-me.zip -> Extract .img file, flash to a USB flash drive with Popsicle (https://github.com/pop-os/popsicle, btw it is installed in pop os as "usb flasher") , and then boot from the USB flash drive to flash the firmware.
-
Some of our projects will be translatable soon
Not sure how you get a raw request to that URL. It's a directory. This weekend I've made the CLI translatable as well. Translations are stored in https://github.com/pop-os/popsicle/tree/master/i18n
What are some alternatives?
uniffi-rs - a multi-language bindings generator for rust
System76 Power Management - System76 Power Management
rust - Empowering everyone to build reliable and efficient software.
usbimager
Cargo - The Rust package manager
vagga - Vagga is a containerization tool without daemons
async-wormhole
tray_rust - A toy ray tracer in Rust
bevy - A refreshingly simple data-driven game engine built in Rust
magog - A roguelike game in Rust
trust-dns - A Rust based DNS client, server, and resolver [Moved to: https://github.com/hickory-dns/hickory-dns]
cobalt.rs - Static site generator written in Rust