bdwgc
mmtk-core
bdwgc | mmtk-core | |
---|---|---|
14 | 9 | |
2,795 | 335 | |
- | 4.8% | |
9.7 | 8.9 | |
2 days ago | 3 days ago | |
C | Rust | |
GNU General Public License v3.0 or later | 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.
bdwgc
-
Writing a Simple Garbage Collector in C (2020)
Boehm GC is mentioned in the article: https://github.com/ivmai/bdwgc
- Boehm-Demers-Weiser Garbage Collector
- Sound like some C stuff
-
Tricking the garbage collector with unsigned longs?
This stuff is all implementation dependent. The Boehm garbage collector has been wrestling with the compilers for years regarding these issues, see its development repo.
-
Any good resources to learn how to implement Automated Reference Counting in C99?
Any kind of automatic GC is going to be rare in C. The only automatic garbage collection that I am aware of is the BDW garbage collector abet that uses mark and sweep instead of reference counting https://github.com/ivmai/bdwgc
- Why isn't there a GCed variant of C++ that'd be functionally like Java, but with C++'s syntax?
-
Small (EXPERIMENTAL RESEARCH) project I made to add a reference counter GC to clang (specifically clang, will change) C
My dude have you heard of Boehm GC
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?
nixos-flake-example - This is a demo NixOS config, with optional flakes support. Along with notes on why flakes is useful and worth adopting.
cactusref - 🌵 Cycle-Aware Reference Counting in Rust
kcgi - minimal CGI and FastCGI library for C/C++
micro-mitten - You might not need your garbage collector
VulkanMemoryAllocator - Easy to integrate Vulkan memory allocation library
seize - Fast, efficient, and robust memory reclamation for Rust.
lisp - A mini Lisp in 1k lines of C with garbage collector, explained. Includes over 40 built-in Lisp primitives, floating point, strings, closures with lexical scope, macros, proper tail recursion, exceptions, execution tracing, file loading, a mark-sweep/compacting garbage collector and REPL.
mark-sweep - A simple mark-sweep garbage collector in C
reproc - A cross-platform (C99/C++11) process library
stupidalloc - A stupid Rust memory allocator
nix - Nix, the purely functional package manager
rust-jvm3 - A JVM made for educational purposes that implements a subset of the specification