Distributed epoch-based memory reclamation
Many concurrent lock-free data structures require an additional minimal (also lock-free) garbage collector, which determines, when a removed value can be safely de-allocated. This can not be determined statically, since many threads could potentially still access previously created references to the removed value. This crate provides a simple and (mostly) safe interface for interacting with the DEBRA memory reclamation scheme.
Add this to your Cargo.toml
[dependencies]
debra = "0.1"
The minimum supported (stable) rust version for this crate is 1.36.0
Comparison with crossbeam-epoch
...TODO...
See tests/treiber.rs for an implementation
of Treiber's stack using debra
for memory reclamation.
...TODO... DEBRA_EPOCH_CACHE_SIZE DEBRA_CHECK_THRESHOLD DEBRA_ADVANCE_THRESHOLD
Debra is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.