Tech News
← Home  ·  All topics

Memory Allocation

3 GoKawiil briefs on this topic

Developer details 'double headed stack allocator' technique from Surreal Software's cancelled game

A programmer who worked on animation systems for the cancelled open-world title 'This is Vegas' at Surreal Software (Midway Seattle) around 2010 describes a memory management technique called a stack allocator, also known as a bump allocator. The method pre-allocates a fixed block of memory and uses a simple integer pointer to track allocation and deallocation, replacing costly dynamic memory calls that had become a profiling bottleneck in per-frame animation blending.

Go 1.27 speeds small heap allocations via size-specialized functions

Go 1.27 introduces specialized memory allocation functions for objects of 80 bytes or smaller, tailored to the runtime's existing size-class system. These functions handle specific size classes and pointer/non-pointer distinctions, letting the compiler skip generic branching logic used in the shared mallocgc path.

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.