Today, I wanna talk about arena allocators - an useful, but not super well known technique.
TODO:
- Definition and basic concepts - What exactly is an arena allocator? How does it differ from traditional allocators?
- Trade-offs and limitations - When NOT to use arena allocators (lack of individual deallocation, memory waste potential)
- discuss why, mentioning cpu cache lines
- mention usage in
- games
- compilers
- dom manipulation
- event systems
- discuss how you implement it abstractly
- discuss rust libraries
- bumpalo
- one of the crates which uses indexes (slotmap, generational-index, typed-arena, id-arena, slotmap. google for more)
- link some sample code
