Study Highlights Malloc() Bottlenecks in Multithreaded Programs
An analysis traces the evolution of memory allocation from stack-based schemes to dynamic linked-list heaps, garbage collection, and jemalloc's 2006 introduction of 'arenas' for NUMA and multi-core memory management. It notes that standard malloc() implementations serialize concurrent allocation requests, causing multithreaded applications to slow down rather than scale as processor counts increase.