Hoard memory allocator

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Hoard
Original authorsEmery Berger, Kathryn S. McKinley, Robert D. Blumofe, Paul R. Wilson
DeveloperEmery Berger
Initial releaseSeptember 29, 1999 (1999-09-29)
Stable release
3.13 / January 1, 2019; 7 years ago (2019-01-01)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, OS X, Microsoft Windows
    Available inC++
    TypeMemory allocation
    LicenseApache License v2
    Websitehoard.org

    The Hoard memory allocator, or Hoard, is a memory allocator for Linux, OS X, and Microsoft Windows. Hoard is designed to be efficient when used by multithreaded applications on multiprocessor computers. Hoard is distributed under the Apache License, version 2.0.

    History

    [edit | edit source]

    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). 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.[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 in OS X since February 2008 (first released in Mac OS X Snow Leopard).[4][5]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]