TheHeap

Last edit November 13, 2014
TheHeap is a (somewhat archaic, but still in common use) term for the memory from which a program may dynamically allocate memory blocks. TheHeap may or may not be contiguous. Lots of different allocation strategies are used to assign a particular memory block for a given request (FirstFit, BestFit, etc.).

Not to be confused with the data structure known as a "heap" (HeapDataStructure--think HeapSort).

Some languages (such as CeePlusPlus) provide a way for different data types to be allocated from different heaps. This can be used to improve performance, but unless the programmer knows what he/she is doing, this frequently makes things worse. Unless it is done in response to profiling showing that the "default" memory allocator is a bottleneck, this is PrematureOptimization.

  • Unfortunately, there are still many C/C++ implementations out there with lousy implementations of malloc/OperatorNew.