rfcs
rfcs copied to clipboard
RFCs for changes to Crossbeam
This is just a brainstorming issue for concurrent hash tables. @Amanieu, do you think we could make `hashbrown` concurrent by having a lock per bucket? When resizing the table we'd...
Epoch-based memory reclamation is great, but it is not the right solution for *all* situations that require deferred memory reclamation in concurrent settings. We will probably need to implement hazard...
[Rendered](https://github.com/jeehoonkang/crossbeam-rfcs/blob/circbuf/text/2018-03-14-circbuf.md) [Implementation](https://github.com/jeehoonkang/concurrent-circbuf/) A benchmark result: 
[Rendered](https://github.com/jeehoonkang/crossbeam-rfcs/blob/deque-proof/text/2018-01-07-deque-proof.md) [Implementation](https://github.com/crossbeam-rs/crossbeam-deque/pull/2) This is a linearization proof of the Chase-Lev work-stealing deque. To the best of my knowledge, it is the first publicly available linearization proof (attempt) of the Chase-Lev...
Introduce the concept of *global pinning*, which allows one to pin the current thread without going through a thread-local handle. In addition to that, we'll slightly tweak the general interface...
The standard library [offers](https://doc.rust-lang.org/nightly/std/sync/atomic/index.html) several primitive atomic types: `Atomic{Usize,Isize,Bool,Ptr}`. Nightly Rust also has `Atomic{U8,I8,U16,I16,U32,I32,U64,I64}`. Those are the primitive types, and then there are crates that expand a little bit. Crate...
Currently, the `crossbeam` crate provides the Treiber stack. In order for `crossbeam` to be backward-compatible as much as possible, when we're rebasing it on top of `crossbeam-epoch`, I think we...
The main `crossbeam` crate is going to be an umbrella crate that brings together the most important pieces of the Crossbeam project together and reexports them. I've been thinking what...
In PR #21, @jeehoonkang and @Vtec234 pointed out that it should be possible to specify a custom `Collector` in the deque constructor (`Deque::new`). This is not a high-priority issue at...
I just read @ticki's blog post that advocates hazard pointers (http://ticki.github.io/blog/fearless-concurrency-with-hazard-pointers/), and @stjepang's comment on it in reddit (https://www.reddit.com/r/rust/comments/6qz9p2/conc_an_efficient_concurrent_reclamation_system/dl20t02/). Which makes me think that maybe it would be great to...