Опубліковано бібліотеку управління пам'яттю jemalloc 5.3

Подано реліз бібліотеки управління пам'яттю jemalloc 5.4.0, що пропонує альтернативну реалізацію функцій malloc, оптимізовану для зниження фрагментації та роботи на багатопроцесорних системах. Для вирішення проблем із блокуваннями на багатоядерних системах в jemalloc для кожного ядра CPU використовується своя ізольована область розподілу пам'яті, що дозволяє досягти лінійної масштабованості при зростанні числа потоків.

У червні 2025 року автор проекту припинив супровід та перевів репозиторій jemalloc в архівний режим, але у березні цього року розробку відновила компанія Meta, яка застосовує jemalloc у своїй інфраструктурі. Спочатку бібліотека була розроблена для FreeBSD і використовується в даній ОС за замовчуванням з 2005 року. Код бібліотеки написано на Сі та поширюється під ліцензією BSD.

Серед змін:

  • Спрощено логіку заповнення та скидання tcache (Thread Local Cache), а також диспетчеризацію виділення пам'яті.
  • Уніфіковано алокатори сторінок пам'яті PAC (Page Allocator Classic) та HPA (Huge Page Allocator). Видалено ускладнений механізм непрямих викликів через vtable (PAI vtable).
  • Для спрощення супроводу та розширення платформ усі платформо-залежні операції винесені в окремі заголовні файли.
  • Спрощено диспетчеризацію команд mallctl, а також перероблено інфраструктуру генерації та виведення статистики.
  • Доданий прапор EXTENT_ALLOC_FLAG_PINNED, що дозволяє позначати невитісняються області карти пам'яті, такі як сторінки HugeTLB, для їх пріоритетного повторного використання. Для отримання статистики про використання закріпленої пам'яті додано нові інтерфейси mallctl: stats.pinned, stats.arenas.
  • Синхронізовано вміст статистики malloc у читаному та JSON форматах.
  • Видалені застарілі параметри lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div та lg.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster