cactusref
mmtk-core
cactusref | mmtk-core | |
---|---|---|
2 | 9 | |
144 | 380 | |
0.0% | 1.3% | |
7.1 | 8.7 | |
6 days ago | 6 days ago | |
Rust | Rust | |
MIT License | GNU General Public License v3.0 or later |
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
-
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
-
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?
rust-wiki-backup - A backup of the Rust wiki
bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)
book - Writing Interpreters in Rust: a Guide
seize - Fast, efficient, and robust memory reclamation for Rust.
AGC - Garbage collection for Ada
micro-mitten - You might not need your garbage collector
mark-sweep - A simple mark-sweep garbage collector in C
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
rust-jvm3 - A JVM made for educational purposes that implements a subset of the specification
artichoke - 💎 Artichoke is a Ruby made with Rust