spsc_queue
rtrb
spsc_queue | rtrb | |
---|---|---|
2 | 5 | |
35 | 174 | |
- | - | |
10.0 | 7.0 | |
over 4 years ago | 13 days ago | |
C++ | Rust | |
BSD 2-clause "Simplified" License | 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.
spsc_queue
-
Low latency queues in Rust ecosystem
I've been researching how low latency I can get with Rust and if there's anything already built. If I limit the question only to SPSC queues, it looks like crossbeam-channel is the most performant one and needs around 20ns per item. In comparison to e.g. https://github.com/Deaod/spsc_queue with almost 1ns/item (the linked queue is not implemented in Rust and only used as an example of what's physically possible). I don't see why we couldn't have something like that in the Rust ecosystem and am wondering if there are any other places to look for perf structures like that, other than Github or crates.io (or they live under a different tag). Also if I would go for a c++ queue, can somebody share the perf impact of calling it from Rust? Haven't done that yet.
-
A collection of lock-free data structures written in standard C++11
Should be benchmarked against ->
https://github.com/Deaod/spsc_queue
If proven faster OK.. If not.. Well.. back to the drawing board.
rtrb
-
Low latency queues in Rust ecosystem
Thanks! Your link lead me to https://github.com/mgeier/rtrb/issues/39 where they compare to different queues. Exactly what I was looking for. Thank you again!
-
Cueue - a truly circular SPSC queue
Nice! Would love to see benchmarks against the other ring buffer crates, like in these comparisons: https://github.com/mgeier/rtrb/issues/39
- Audio Libraries Considered Challenging
-
What’s everyone working on this week (2/2022)?
I'm continuing to work on a new musical live performance software, Moiré. I just figured out how to make use of dynamically sized Vecs without allocating or deallocating in the audio thread using basedrop and rtrb. I'm using SixtyFPS for the GUI.
What are some alternatives?
tlaplus - TLC is a model checker for specifications written in TLA+. The TLA+Toolbox is an IDE for TLA+.
basedrop - a set of memory-management tools for real-time audio
strop - Stochastically generates machine code
fnr - Intuitive find and replace tool
wordtop - | sort | uniq -c but in top-like form (pipe stream, it counts words and displays stats every N seconds)
mos6502 - MOS 6502 emulator written in Rust
rust - Empowering everyone to build reliable and efficient software.
pixelliarmus - This is a toy rust project that do Pixelliarmus spell on your pictures
Meadowlark - A (currently incomplete) open-source Digital Audio Workstation
ENT - Elementary Number Theory for Integers in Rust
acid_io - Rust I/O for no_std
bm - Bookmark Manager