On arena allocators (opens in new tab)
Modern software finds it tempting to liberally use dynamic memory allocation. Most objects die young, so applications often see large amounts of churn. This is mostly harmless for programming languages with copying, generational garbage collectors, as there allocation is essentially free (pointer bump and well-predicted conditional branch), and the running time of the nursery GC pass is proportional to the number of live objects, not the number of allocations. Regardless of how much you can a...
Read the original article