flume
Rhai
Our great sponsors
flume | Rhai | |
---|---|---|
14 | 27 | |
2,134 | 3,423 | |
- | 3.5% | |
4.4 | 9.6 | |
13 days ago | 3 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
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.
- 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
Rhai
- RustPython
-
Moonbit: The fast, compact and user friendly language for WebAssembly
For that world there is also Rhai (https://github.com/rhaiscript/rhai), TypeScript, Scheme, etc.
Though Moonbit does look nice too.
- Announcing dwarf!
-
Embeddable Scripting Language for Embedded Rust
As far as I know there exists rhai scripting lang. You can check it out -> https://github.com/rhaiscript/rhai
- RustPython – A Python-3 (CPython >= 3.11.0) Interpreter written in Rust
- Best language to use as a scripting lang for my rust app
-
[concept] Modular kernel
The OS would be built in Rust and the module system could be made using ELF executibles (fast, but it could be really hard to implement modules to communicate with the kernel), WASM (can compile from many languages, slower but not too slow, APIs can be simple enough to implement if the correct VM is choses) or even a custom scripting language like rhai (slower, but best way for the implementation [way to connect modules and kernel]).
-
Godot game engine now has its own foundation
For sure, that's where something like rhai would shine: https://crates.io/crates/rhai
Oh yeah, for sure. But there are rust based scripting languages that are designed to interop with rust, such as rhai: https://crates.io/crates/rhai
- Sooooo... are we going to have a plugin system or no? :)
What are some alternatives?
dyon - A rusty dynamically typed scripting language
rune - Rune is a programming language developed to test ideas for improving security and efficiency.
hlua - Rust library to interface with Lua
rune - An embeddable dynamic programming language for Rust.
RustPython - A Python Interpreter written in Rust
Ketos - Lisp dialect scripting and extension language for Rust programs
mun - Source code for the Mun language and runtime.
helix - A post-modern modal text editor.
uniffi-rs - a multi-language bindings generator for rust
gluon - A static, type inferred and embeddable language written in Rust.
kanidm - Kanidm: A simple, secure and fast identity management platform
rust - Empowering everyone to build reliable and efficient software.