ringbuf
ringbuf copied to clipboard
Lock-free SPSC FIFO ring buffer with direct access to inner data
Pretty sure there's no reason not to, since they're in `core`: https://doc.rust-lang.org/core/fmt/index.html
From a quick-ish glance at `RingBuffer`, it [looks like](https://github.com/agerasev/ringbuf/blob/7bb9d2f82986c1a38ffa4b65ac1af4ea25438e19/src/ring_buffer.rs#L38-L39) `head` and `tail` could possibly be [falsely shared](https://en.wikipedia.org/wiki/False_sharing). However, I tried to improve it by padding the atomics so they'd be...
A basic performance comparison would be great to compare against other rust ringbuffers, as well as crossbeam channel.
``` ---- tests::write_read stdout ---- thread '' panicked at blocking/src/tests.rs:134:9: assertion `left == right` failed left: 2300 right: 2304 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace thread...
Hi. Nice library, thanks for putting effort into making this. I think I've discovered an issue allowing use of uninitialized data from safe code in the `read_from` function: https://github.com/agerasev/ringbuf/blob/447a15630b29c807ee137c7366a0bfca768bd5c1/src/traits/producer.rs#L122-L149 The...
Hi @agerasev , Question for you: is there a type alias to use when using a LocalRb for Producer? `HeapRb` has `HeapProducer` but cannot figure out the correct type for...
I want to use `Mutex` with static variable but there is no initializer method for `LocalRb`. Could you provide something like `LocalRb::new_const()`? PS: I found another crate that supports this
I don't know if this can be problematic I actually received this warning in clippy on the most recent stable compiler in my embedded project: ``` warning: creating a mutable...