Content deleted Content added
No edit summary |
→See also: annlink |
||
(20 intermediate revisions by 17 users not shown) | |||
Line 1:
{{short description|Memory allocator}}
{{Infobox software
|name = Hoard
|
|
|
▲|latest release version = 3.10
▲|latest release date = {{Start date and age|2013|10|23}}
▲|operating system = [[Unix-like]], [[Microsoft Windows]] and others
|language = [[C++]]
|genre = [[Memory allocation]]
|license = [[
|website =
}}
The '''Hoard memory allocator''', or '''Hoard''', is a [[memory allocation|memory allocator]] for [[Linux]], [[
{{Portal|Free software}}▼
▲The '''Hoard memory allocator''', or '''Hoard''', is a [[memory allocation|memory allocator]] for [[Linux]], [[Solaris (operating system)|Solaris]], [[Microsoft Windows]] and other [[operating systems]]. Hoard is designed to be efficient when used by [[Multithreading (computer architecture)|multithreaded]] applications on [[multiprocessor]] computers. Hoard is distributed under the [[GPL]], but can be purchased for [[proprietary software]].
==History==
In 2000, its author [[Emery Berger]] benchmarked some famous memory allocators and stated Hoard improves the performance of multithreaded applications by providing fast, [[scalable]] [[memory management]] functions ([[malloc]] and [[Free (programming)|free]]). In particular, it reduces contention for the heap (the central data structure used in [[dynamic memory allocation]]) caused when multiple threads allocate or free memory, and avoids the [[false sharing]] that can be introduced by memory allocators. At the same time, Hoard has strict bounds on [[fragmentation (computer)|fragmentation]].<ref name=Berger2000>{{
Hoard continues to be maintained and improved, and is in use by a number of open source and commercial projects.<ref>{{cite web |title=An alternative Memory Allocator for the standard glibc |date=2007-09-16 |url=http://ineluttabile.it/node/6 |archiveurl=https://web.archive.org/web/20111007180846/http://ineluttabile.it/node/6 |archivedate=2011-10-07}}</ref><ref>{{cite web |title=GNU Common C++ Downloading |url=http://www.gnutelephony.org/index.php?title=GNU_Common_C%2B%2B&oldid=1105#Downloading}}</ref>
▲In 2000, its author [[Emery Berger]] benchmarked some famous memory allocators and stated Hoard improves the performance of multithreaded applications by providing fast, [[scalable]] [[memory management]] functions ([[malloc]] and [[Free (programming)|free]]). In particular, it reduces contention for the heap (the central data structure used in [[dynamic memory allocation]]) caused when multiple threads allocate or free memory, and avoids the [[false sharing]] that can be introduced by memory allocators. At the same time, Hoard has strict bounds on [[fragmentation (computer)|fragmentation]].<ref name=Berger2000>{{cite journal
It has also inspired changes to other memory allocators such as the one in [[OS X]] since February 2008 (first released in [[Mac OS X Snow Leopard]]).<ref>{{cite web |title=I'm a Mac (or, "Emery Inside") |date=26 October 2010|url=http://emeryblogger.com/2010/10/26/im-a-mac-or-emery-inside/}}</ref><ref>{{cite web |title=A look at how malloc works on the Mac |url=http://www.cocoawithlove.com/2010/05/look-at-how-malloc-works-on-mac.html}}</ref>
==See also==
▲{{Portal|Free and open-source software}}
*{{annotated link|C dynamic memory allocation}}
*{{annotated link|Manual memory management}}
*{{annotated link|Dynamic memory allocation}}
*{{annotated link|mimalloc}}
==References==
Line 65 ⟶ 35:
* [http://www.hoard.org/ The Hoard web page].
* [http://www.cs.umass.edu/~emery Emery Berger], Hoard's author and a professor at the [[University of Massachusetts Amherst]].
{{Memory management}}
{{DEFAULTSORT:Hoard Memory Allocator}}
|