bacon-rajan-cc icon indicating copy to clipboard operation
bacon-rajan-cc copied to clipboard

bacon_rajan_cc

Build Status Crates.io Documentation Rust 1.34.2+

Cc<T>: A reference counted type with cycle collection for Rust. Concurrent or stop-the-world. Based on the paper "Concurrent Cycle Collection in Reference Counted Systems" by David F. Bacon and V.T. Rajan. JVM implementation

Currently only stop-the-world, not concurrent.

Usage

Add to Cargo.toml:

Note this requires at least Rust 1.28 for the std::alloc api's.

[dependencies]
bacon_rajan_cc = "0.3"

Then, in your crate:

extern crate bacon_rajan_cc;
use bacon_rajan_cc::{Cc, Trace, Tracer};

Documentation

Read the docs!

Alternatives

  • https://github.com/jrmuizel/cc-mt (an experimental thread safe version of bacon-rajan-cc)
  • https://github.com/withoutboats/shifgrethor
  • https://github.com/Manishearth/rust-gc
  • https://github.com/redradist/ferris-gc (a thread safe reimplementatin of rust-gc)
  • https://github.com/Others/shredder
  • https://github.com/jazz-lang/wafflelink (conservative on stack,precise on heap Immix Mark-Region GC with evacuation in Rust)
  • https://github.com/artichoke/cactusref https://hyperbo.la/w/cactus-harvesting/