Распределитель памяти - Hoard memory allocator

Клад
Оригинальный автор (ы)Эмери Бергер, Кэтрин С. МакКинли, Роберт Д. Блюмофе, Пол Р. Уилсон
Разработчики)Эмери Бергер
изначальный выпуск29 сентября 1999 г. (1999-09-29)
Стабильный выпуск
3.13 / 1 января 2019 г.; 23 месяца назад (2019-01-01)
Операционная системаLinux, OS X, Майкрософт Виндоус
Доступно вC ++
ТипВыделение памяти
ЛицензияЛицензия Apache v2
Интернет сайткопить.org

В Распределитель памяти, или же Клад, это распределитель памяти за Linux, OS X, и Майкрософт Виндоус. Hoard разработан, чтобы быть эффективным при использовании многопоточный приложения на мультипроцессор компьютеры. Клад распределяется по Лицензия Apache, версия 2.0.

История

В 2000 году его автор Эмери Бергер протестировал некоторые известные распределители памяти и заявил, что Hoard улучшает производительность многопоточных приложений, обеспечивая быстрое, масштабируемый управление памятью функции (маллок и свободный ). В частности, это снижает конкуренцию за кучу (центральная структура данных, используемая в распределение динамической памяти ) вызывается, когда несколько потоков выделяют или освобождают память, и позволяет избежать ложный обмен которые могут быть введены распределителями памяти. В то же время у Hoard есть строгие ограничения на фрагментация.[1]

Hoard продолжает поддерживаться и улучшаться, а также используется в ряде коммерческих проектов с открытым исходным кодом.[2][3]

Это также вызвало изменения в других распределителях памяти, например, в OS X с февраля 2008 г. (впервые выпущен в Mac OS X Снежный барс ).[4][5]

Смотрите также

Рекомендации

  1. ^ Berger, E.D .; МакКинли, К.С.; Blumofe, R.D .; Уилсон, П. Р. (ноябрь 2000 г.). Hoard: масштабируемый распределитель памяти для многопоточных приложений (PDF). АСПЛОС -IX. Материалы девятой международной конференции по архитектурной поддержке языков программирования и операционных систем. С. 117–128. CiteSeerX  10.1.1.1.4174. Дои:10.1145/378993.379232. ISBN  1-58113-317-0.
  2. ^ "Альтернативный распределитель памяти для стандартного glibc". 2007-09-16. Архивировано из оригинал на 2011-10-07.
  3. ^ "Загрузка GNU Common C ++".
  4. ^ «Я Mac (или« Эмери внутри »)».
  5. ^ «Посмотрите, как malloc работает на Mac».

внешняя ссылка