This is not a Wikipedia article: It is an individual user's work-in-progress page, and may be incomplete and/or unreliable.The current/final version of this article may be located at Comparison of malloc now or in the future.For guidance on developing this draft, see Wikipedia:So you made a userspace draft.
Finished writing a draft article? Are you ready to request an experienced editor review it for possible inclusion in Wikipedia? Submit your draft for review!
For This article compares major malloc variants—including standard library implementations, custom allocators, and platform-specific versions—highlighting their design goals, internal mechanisms, and use cases in modern computing environments., see Comparison of malloc. For Comparison of C malloc functions, see Egberts/Comparison of malloc algorithms (disambiguation).
In computer programming, malloc and its related memory allocation functions are fundamental components of dynamic memory management in C and C-derived languages. Over time, numerous implementations and variants of malloc have been developed, each with different performance characteristics, memory usage patterns, and concurrency strategies. T
This article compares major malloc variants—including standard library implementations, custom allocators, and platform-specific versions—highlighting their design goals, internal mechanisms, and use cases in modern computing environments.
The following chart gives details the prominent variants of malloc function set.
Following labels are used:
+ (native) – A slot is native for such card.
D (Directly compatible) – A card may be used in such a slot directly, without any adapters. Best possible compatibility.
M (requires a Mechanical adapter) – Such adapter is only a physical enclosure to fit one card sized into another; all electrical pins are exactly the same.
EM (requires an Electro-Mechanical adapter) – Such adapter features both physical enclosure and pins re-routing as terminals are sufficiently different. No powered elements in such adapter exists, thus they're very cheap and easy to manufacture and may be supplied as a bonus for every such card.
E (requires an Electronic adapter enclosure) – These adapters must have components—potentially requiring external power—that transform signals, as well as physical enclosure and pin routing.
X (requires an eXternal adapter) – Technically the same as E, but such adapter usually consists of 2 parts: a pseudo-card with pin routing and physical enclosure size that perfectly match the target slot and a break-out box (a card reader) that holds a real card. Such adapter is the least comfortable to use.
XM (requires an eXternal electro-mechanical adapter) – Technically the same as EM, but such adapter usually consists of 2 parts: a pseudo-card with pin routing and physical enclosure size that perfectly match the target slot and a break-out box (a card reader) that holds a real card. Such adapter is the least comfortable to use.
Empty cell – Card cannot be used in such slot, no single adapter is known to exist. Sometimes a chain of adapters can help (for example, miniSD→CF as miniSD→SD→CF).
Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources[10]
llmalloc
C++
MIT
Paul Liétar, Theodore Butler, Sylvan Clebsch, Sophia Drossopoulou, Juliana Franco, Matthew J. Parkinson, Alex Shamis, Christoph M. Wintersteiger, David Chisnall