Garbage Collection with LLVM

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • mps

    The Memory Pool System

    I am trying to implement garbage collection for my language because I want memory management for arrays/lists and strings. I am looking through LLVM's garbage collection page but the documentation isn't great. Are there any other resources that offer more concrete steps to implement garbage collection? Would it be wise to circumvent LLVM all together for garbage collection and only use something like the Memory Pool System? Thanks!

  • mark-sweep

    A simple mark-sweep garbage collector in C

    Might not be that hard: https://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/

  • 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.

  • mmtk-core

    Memory Management ToolKit

    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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts