#reference-counting #atomic #pointers #concepts #proof #dynamically #thread-safe

darc

Dynamically-atomic reference-counting pointers (proof of concept)

2 releases

0.0.2 Jul 11, 2023
0.0.1 Apr 29, 2019

#17 in #dynamically


Used in 3 crates (via plow_linter)

Apache-2.0/MIT

13KB
297 lines

darc - Dynamically-atomic reference-counting pointers

Crate Documentation minimum rustc 1.31

This is a proof of concept of a Rust Rc<T> type that can dynamically choose whether to use atomic access to update its reference count. A related Arc<T> can be created which offers thread-safe (Send + Sync) access to the same data. If there's never an Arc, the Rc never pays the price for atomics.

darc currently requires rustc 1.31.0 or greater.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps