crossbeam
crossbeam copied to clipboard
Tools for concurrent programming in Rust
Inspired by the [Rust 2019: Rust Audio](https://www.reddit.com/r/rust/comments/aua2tb/rust_2019_rust_audio/) thread, I decided to add a high-performance wait-free bounded SPSC queue. This is the most common queue type in audio programming and it's...
In Fuchsia, we're doing an [update](https://fuchsia-review.googlesource.com/c/fuchsia/+/517844) of our vendored version of crossbeam. As part of our review, we found a number of `unsafe` blocks that was hard to audit due...
https://github.com/crossbeam-rs/crossbeam/pull/591#discussion_r551747872 > I don't know why this test fails when we reduce [`internal::MAX_OBJECTS`](https://github.com/crossbeam-rs/crossbeam/blob/99c66ec6e295ac471f7415e5fff80e58833841d5/crossbeam-epoch/src/internal.rs#L57-L61), but it also fails when I run a normal test with `--cfg crossbeam_sanitize`. (And, except for `cfg(test)`...
The standard library's extension traits are not intended to be implemented for types other than the standard library. Actually, there are discussions about sealing them: rust-lang/rust#81213, rust-lang/rust#80634 As long as...
hello, I was wondering if you could provide some additional guidance on usage of the deque crate relating to performance. I did find issue #399 and review the async-std scheduler...
Crossbeam hasn't changed much in a long time. It may be time to publish 1.0 :) My opinion is that all crates except for crossbeam-epoch have "peaked" and reached maturity....
Here is my note on my experiment on mixing epoch-based reclamation (EBR) and pointer-based reclamation (e.g. hazard pointers, HP). My code is here: https://github.com/jeehoonkang/crossbeam/tree/snowflake/crossbeam-epoch Currently it's neither tested nor documented,...
Hi All, Looking around the code for the in `crossbeam-skiplist` crate I still haven't found a way I can chain set operations such as intersections & unions. It would also...
I could not find a test for the concurrent insert for `skiplist`, is there any? What I expect is that we will spawn another thread and do some `insert` or...
I've just had to write code like this, and it seems... inelegant. ```rust let mut open_channels = 2; lwhile open_channels > 0 { select! { recv(r1) -> p => {...