cactusref
🌵 Cycle-Aware Reference Counting in Rust (by artichoke)
mmtk-core
Memory Management ToolKit (by mmtk)
Our great sponsors
cactusref | mmtk-core | |
---|---|---|
2 | 9 | |
142 | 335 | |
0.0% | 5.7% | |
7.9 | 8.9 | |
8 days ago | about 16 hours ago | |
Rust | Rust | |
MIT License | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cactusref
Posts with mentions or reviews of cactusref.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-12.
-
Why Can't `Box` Be Abstracted Away From the Developer?
Absolutely. I have seen some pretty cool concepts in Rust for memory cleanup; not just garbage collection, but deterministic reference cycle removal by cactusref. And the fun thing about these is that you still get all of Rust's zero-cost abstractions and epic modern language design.
-
CactusRef: an experimental cycle-aware Rc and mini tracing GC
I've put together a WIP PR to experiment with a safe adoption API: https://github.com/artichoke/cactusref/pull/47. This allows the doubly linked list example to be implemented in safe code without leaks. I didn't even think this was possible! Thanks for making me think!
mmtk-core
Posts with mentions or reviews of mmtk-core.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-21.
-
I have written a JVM in Rust
Great learning project, I'm glad the author is having fun.
If they're interested in bolting on a GC, it couldn't hurt to look at MMtk. (https://www.mmtk.io/) Some high quality collection algorithms, written to be pluggable to various VMs, and written in Rust.
-
Writing a Compiler and a Virtual Machine in Rust
just here to mention https://github.com/mmtk/mmtk-core crate which provides garbage collectors. The only problem is requiring threads, which makes it unsuitable for wasm.
-
JDK 20 G1/Parallel/Serial GC Changes
AFAIK, no. The opposite is true with MMtk (https://www.mmtk.io), which is a toolkit with many GC algorithms implemented that has been plugged into other runtimes, including, as it happens, OpenJDK.
- Mmtk: Memory Management Toolkit
-
Garbage Collection with LLVM
IME the MPS is hard to set up correctly, and I've heard in Clasp they got in performance trouble, as per-thread allocation buffers were too small and they couldn't make the buffers larger. But indeed being conservative on the stack is a fine choice; someone mentioned Boehm being easy to use, and the MMTk is a newer option which allows for bump-allocation and being precise on the heap (like MPS), but at the moment you have to provide your own stack scanning code.
- Memory Management Toolkit – multi-runtime platform for language implementers
- MMTk.io – Memory Management ToolKit
What are some alternatives?
When comparing cactusref and mmtk-core you can also consider the following projects:
book - Writing Interpreters in Rust: a Guide
bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)