Менеджер распределения памяти jemalloc выпущен в виде отдельной библиотеки

12 апреля 2010 года

Высокопроизводительный менеджер распределения памяти jemalloc (Архивная копия от 18 апреля 2010 на Wayback Machine) выпущен (Архивная копия от 9 марта 2016 на Wayback Machine) в виде отдельной библиотеки для платформы Linux. Jemalloc представляет собой реализацию функций malloc, оптимизированную для решения проблем фрагментации и оптимальной утилизации ресурсов CPU при выделения памяти в нескольких потоках на многопроцессорных системах. Изначально jemalloc был разработан Джейсоном Эвансом (Jason Evans) для FreeBSD 7.0, а позднее был портирован в NetBSD и интегрирован в состав браузера Firefox 3.

Для решения проблем с блокировками на SMP системах в jemalloc для каждого процессора используется своя изолированная область распределения памяти, что позволяет добиться линейной масштабируемости при измерении числа распределений памяти в единицу времени при росте числа нитей в многопоточных приложениях, при том что в таких системах как pkhmalloc и dlmalloc производительность падает с ростом числа потоков. Использование jemalloc позволяет увеличить производительность, сократив при этом фрагментацию и в связи с этим требуя для своей работы меньше памяти. Например, переход Firefox на jemalloc привел к уменьшению потребления памяти при длительной работе в среднем на 22%.

С выходом обособленной библиотеки пользователи Linux получили возможность использовать jemalloc в своих программах не прибегая к интеграции кода jemalloc в свой проект. В представленном варианте jemalloc поддерживаются такие возможности, как локальное для нитей кеширование, профилирование кучи, интроспекция, альтернативная реализация красно-черных деревьев.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Менеджер распределения памяти jemalloc выпущен в виде отдельной библиотеки», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.