Memory management is like, important




Pools Object pools Thread pools Fixed size block allocation Can use Vec<Foo> push and pop to free


Arenas? Deallocate all at once. Good for fragmentation too.

Garbage Collection

garbage colleciton handbook 2 semi space collector

Immix: A Mark-Region Garbage Collector with Space Efficiency, Fast Collection, and Mutator Performance Conservative Moving


bump pointers

Mark and Sweep

Boehm garbage collector liballocs. Garbage collector that looks at dwarf data. Asiprataional?

memory management toolkit

malloc and free are bad apis store unnecessary metadata, waste space

DangZero: Efficient Use-After-Free Detection via Direct Page Table Access

Untangling Lifetimes: The Arena Allocator

Garbage Collection Handbook

Control Theory and Concurrent Garbage Collection

automemcpy: A Framework for Automatic Generation of Fundamental Memory Operations

treadmill gabrage collector of baker

garbage collection handbook lua wiki

real-time concurrent copying vs non-copying. Copying needs to adjust pointers. Can defragment incremental - does the garbage collection need to happen all at once

bump allocation

Conservative vs Exact

The boehm garbage collector seems easy to use. Also you can just malloc and never free.



mark and Sweep

colors mark finished, seen but children not finished. white is unseen. black is swept. When finished anything white is no longer in use.


Making a simple garbage collector