Get the latest tech news
Tracing garbage collection for arenas
Tracing GC is to Arenas what jelly is to peanut butter.
Having each library implement their own custom mark-and-sweep tracing GC is fine and all, but I’m wondering how this could work as a general memory management strategy. Just taking an existing, modern garbage collector and making it cleanup only when explicitly called does not work very well, they’re incremental for a reason (in fact pretty much every tracing GC-ed language tells you not to do this). Again, from the function’s point of view, there’s no difference beyond needing to pass in a pointer to the metadata (can be compiler generated or written by hand, doesn’t matter).
Or read this on Hacker News