10个版本
使用旧Rust 2015
0.4.0 | 2022年7月22日 |
---|---|
0.3.2 | 2021年5月15日 |
0.3.1 | 2020年7月19日 |
0.3.0 | 2019年8月1日 |
0.1.0 | 2015年8月2日 |
#220 在 内存管理 中
每月45次下载
用于 2 crate
73KB
1.5K SLoC
bacon_rajan_cc
Cc<T>
: Rust的具有循环收集的引用计数类型。并发或停止世界。基于David F. Bacon和V.T. Rajan的论文《"Concurrent Cycle Collection in Reference Counted Systems"》。"Concurrent Cycle Collection in Reference Counted Systems",JVM实现
目前仅停止世界,不是并发。
用法
添加到 Cargo.toml
注意这需要至少Rust 1.28版本的std::alloc api。
[dependencies]
bacon_rajan_cc = "0.3"
然后在您的crate中
extern crate bacon_rajan_cc;
use bacon_rajan_cc::{Cc, Trace, Tracer};
文档
替代方案
- https://github.com/jrmuizel/cc-mt(bacon-rajan-cc的实验性线程安全版本)
- https://github.com/withoutboats/shifgrethor
- https://github.com/Manishearth/rust-gc
- https://github.com/redradist/ferris-gc(rust-gc的线程安全重实现)
- https://github.com/Others/shredder
- https://github.com/jazz-lang/wafflelink(堆栈保守,堆精确的Immix Mark-Region GC,Rust中带有迁移的GC)
- https://github.com/artichoke/cactusref https://hyperbo.la/w/cactus-harvesting/