rclite-0.1.2 has been yanked.
RcLite: The small reference counting solution for Rust
RcLite is a lightweight reference-counting solution for Rust that serves as an alternative to the standard library's reference-counting. It offers both multi-threaded and single-threaded reference counting options with improved performance and reduced memory overhead, boasting a 75% decrease in memory usage compared to the standard reference counting method. RcLite is a suitable option when weak references are not necessary and optimizing for performance and memory usage is a priority.
Why use RcLite?
- It's faster and smaller
- Uses less memory
- It is a drop-in replacement for standard library Arc and Rc without weak reference feature
- It supports
no_stdwith extern alloc
Why not use RcLite?
- It does not provide weak references
- With RcLite in 64-bit systems, you only can have
4,294,967,296 - 256live references to an object. if you need to have18,446,744,073,709,551,616live references to an object, use the standard library. In other systems with smaller pointer sizes like 32-bit, you will haveusize::MAXlive references limitation that is the same as the standard library.
Comparison
| rclite::Arc | std::sync::Arc | |
|---|---|---|
| Overhead in 64-bit systems | 4 bytes | 16 bytes |
| Overhead in 32-bit systems | 4 bytes | 8 bytes |
| Overhead in 16-bit systems | 2 bytes | 4 bytes |
| Weak References | ❌ | ✅ |