awesome-allocators icon indicating copy to clipboard operation
awesome-allocators copied to clipboard

Awesome links and information about memory allocation

awesome-allocators

Awesome links and information about memory allocation

malloc/free Implementations

  • the trivial bump allocator: bump allocator
  • liballoc (for hobby OS's): https://github.com/blanham/liballoc/
  • dbestfit: https://daniel.haxx.se/projects/dbestfit/thoughts.html
  • dlmalloc: http://g.oswego.edu/dl/html/malloc.html
  • heapmm (AVL tree based): http://www.geocities.ws/wkaras/heapmm/heapmm.html
  • jemalloc: http://jemalloc.net/
  • nedmalloc: http://www.nedprod.com/programs/portable/nedmalloc/
  • tcmalloc: http://goog-perftools.sourceforge.net/doc/tcmalloc.html
  • ltmalloc: https://github.com/r-lyeh-archived/ltalloc
  • download more ram: https://github.com/graphitemaster/moreram
  • TLSF one malloc to rule them all (blog post) - http://blog.reverberate.org/2009/02/one-malloc-to-rule-them-all.html
  • wee alloc a custom allocator for webasm, minimizing binary size.
  • tinyalloc for unmanaged, linear memory situations, e.g. WASM and embedded devices
  • naens/mem_alloc A fibonacci buddies alloctor with a good writeup explaining the system.

Heaps

  • https://github.com/CCareaga/heap_allocator
  • https://symfun.wordpress.com/2015/01/10/heap-ml-implementation/

Garbage Collectors

  • http://www.hboehm.info/gc/
  • http://www.ravenbrook.com/project/mps

General Learning

  • Memory Management Enyclopedia: http://www.memorymanagement.org/
  • SystemProgramming guide: Memory, Part 1: Heap Memory Introduction
  • SystemProgramming guide: Memory, Part 2: Implementing a Memory Allocator
  • Visualizing GCs: https://spin.atomicobject.com/2014/09/03/visualizing-garbage-collection-algorithms/
  • Mark and Sweep GC Tutorial: http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/
  • OpenBSD code read: malloc - 1 2 3 4 5 6 7 8
  • Write a simple memory allocator: http://arjunsreedharan.org/post/148675821737/write-a-simple-memory-allocator
  • Pseudomonarchia jemallocum (Investigating the security of jemalloc): http://www.phrack.org/issues/68/10.html
  • slab allocation in cixl language: https://github.com/basic-gongfu/cixl/blob/master/devlog/slab_allocation.md
  • GopherCon 2018: Eben Freeman - Allocator Wrestling: https://www.youtube.com/watch?v=M0HER1G5BRw
  • Bitmap allocation in a garbage collector: http://sean.cm/a/tricolor-garbage-collector
  • Binary buddies allocator: http://www.memorymanagement.org/mmref/alloc.html
  • http://dmitrysoshnikov.com/compilers/writing-a-memory-allocator/

Great Papers

Good Papers