| Hoard | |
|---|---|
| Original authors | Emery Berger,Kathryn S. McKinley, Robert D. Blumofe, Paul R. Wilson |
| Developer | Emery Berger |
| Initial release | September 29, 1999 (1999-09-29) |
| Stable release | 3.13 / January 1, 2019; 7 years ago (2019-01-01) |
| Operating system | Linux,OS X,Microsoft Windows |
| Available in | C++ |
| Type | Memory allocation |
| License | Apache License v2 |
| Website | hoard |
| Repository | |
TheHoard memory allocator, orHoard, is amemory allocator forLinux,OS X, andMicrosoft Windows. Hoard is designed to be efficient when used bymultithreaded applications onmultiprocessor computers. Hoard is distributed under theApache License, version 2.0.
In 2000, its authorEmery Berger benchmarked some famous memory allocators and stated Hoard improves the performance of multithreaded applications by providing fast,scalablememory management functions (malloc andfree). In particular, it reduces contention for the heap (the central data structure used indynamic memory allocation) caused when multiple threads allocate or free memory, and avoids thefalse sharing that can be introduced by memory allocators. At the same time, Hoard has strict bounds onfragmentation.[1]
Hoard continues to be maintained and improved, and is in use by a number of open source and commercial projects.[2][3]
It has also inspired changes to other memory allocators such as the one inOS X since February 2008 (first released inMac OS X Snow Leopard).[4][5]