SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 garbage-collection Open-Source Projects
-
bdwgc
The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
hacs_waste_collection_schedule
Home Assistant integration framework for (garbage collection) schedules
-
Garbage-Collection
🗑 Custom Home Assistant sensor for scheduling garbage collection (or other regularly re-occurring events - weekly on given days, semi-weekly or monthly)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
C-sharp-stack-only-json-parser
Stack only json deserialization using generators and the System.Text.Json library
-
docker-gc-cron
A Docker image that allows scheduled cleanup of unused Docker images, containers, and volumes.
-
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. (by Robert-van-Engelen)
-
lisp-cheney
A mini Lisp in 1k lines of C with Cheney's copying 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 copying garbage collector and REPL.
-
graven-image
Portability library for better interaction and debugging of a running Common Lisp image through text REPL.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
For (2) Virgil has several features that allow you to layout memory with various levels of control. I assume you meaning "array of structs", and you can do that with arrays of tuples, which will naturally be flattened and normalized based on the target (i.e. will be array-of-structs on native targets). You can define byte-exact layouts[1] (mostly for interfacing with other software and parsing binary formats), unbox ADTs, and soon you can even control the exact encoding of ADTs.
Virgil is GC'd.
[1] https://github.com/titzer/virgil/blob/master/doc/tutorial/La...
Project mention: I'm wanting to write my first compiler, but getting a little bit mixed up in general. | /r/Compilers | 2023-06-24Kind of an interpreter but it does compile to bytecode and is written in rust https://github.com/rust-hosted-langs/book I thought it was a great tutorial, both for learning rust, and about compilers
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.
> IME it's the other way around, per-object individual lifetimes is a rare special case
It depends on your application domain. But in most cases where objects have "individual lifetimes" you can still use reference counting, which has lower latency and memory overhead than tracing GC and interacts well with manual memory management. Tracing GC can then be "plugged in" for very specific cases, preferably using a high performance concurrent implementation much like https://github.com/chc4/samsara (for Rust) or https://github.com/pebal/sgcl (for C++).
Project mention: Graven Image: improving CL built-in inspection facilities | /r/Common_Lisp | 2023-08-12Now that is progressed enough (having 300+ commits!), I think it would be useful to share the lib I've made filling this niche: it's called Graven Image and it already improves these CL functions: - apropos(-list) (more readable and useful printouts and search through documentation and external symbols only) - describe and inspect (better printouts and lots of commands stolen from SBCL, CCL etc.) - dribble (writing to a file with outputs and results commented out, so that one can load the dribbled file and get a fully reproduced state!) - function-lambda-expression (closure, arglist, name, and type (!) inspection) - time (more predictable printout) - yes-or-no-p/y-or-n-p (configurable reply options and reliable UI) - documentation (aliases, type is optional now, and a DWIM method on symbols) - I'm also planning to work on ed, room, and, possibly, (un)trace, disassemble, and step.
garbage-collection related posts
- Garbage Collection for Systems Programmers
- Why choose async/await over threads?
- Removing Garbage Collection from the Rust Language (2013)
- Graven Image: improving CL built-in inspection facilities
- I built a garbage collector for a language that doesn't need one
- I'm wanting to write my first compiler, but getting a little bit mixed up in general.
- Whose baseline (compiler) is it anyway?
-
A note from our sponsor - SaaSHub
www.saashub.com | 26 Apr 2024
Index
What are some of the best open-source garbage-collection projects? This list will help you:
Project | Stars | |
---|---|---|
1 | bdwgc | 2,780 |
2 | virgil | 893 |
3 | hacs_waste_collection_schedule | 809 |
4 | starlight | 491 |
5 | book | 466 |
6 | Garbage-Collection | 373 |
7 | mmtk-core | 331 |
8 | seize | 304 |
9 | C-sharp-stack-only-json-parser | 279 |
10 | arcadia | 195 |
11 | cactusref | 142 |
12 | docker-gc-cron | 135 |
13 | glacier | 124 |
14 | garbage-collection-card | 120 |
15 | RAM-Limiter | 102 |
16 | lisp | 65 |
17 | samsara | 64 |
18 | core | 40 |
19 | lisp-cheney | 31 |
20 | graven-image | 15 |
21 | Cameleonica | 13 |
22 | AGC | 10 |
23 | sundial-gc | 7 |
Sponsored