Вышел jemalloc 5.4.0, альтернативная реализация
malloc, оптимизированная для снижения фрагментации и работы на многопроцессорных системах. Для каждого ядра CPU используется своя изолированная область распределения памяти, что дает линейную масштабируемость при росте числа потоков.История любопытная: в июне 2025 года автор проекта прекратил сопровождение и перевел репозиторий в архивный режим, но в марте этого года разработку возобновила Meta, которая применяет jemalloc в своей инфраструктуре. Изначально библиотека создавалась для FreeBSD и используется там по умолчанию с 2005 года. Код на C под BSD.
Что нового: упрощена логика заполнения и сброса tcache, а также диспетчеризации выделения памяти. Унифицированы аллокаторы страниц PAC и HPA, удален усложненный механизм косвенных вызовов через vtable. Все платформо-зависимые операции вынесены в отдельные заголовочные файлы, диспетчеризация
mallctl упрощена, инфраструктура статистики переработана.Добавлен флаг EXTENT_ALLOC_FLAG_PINNED для пометки невытесняемых областей маппинга вроде страниц HugeTLB, чтобы их приоритетно переиспользовать. Появились новые интерфейсы
mallctl для статистики закрепленной памяти. Статистика 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_tcache_flush_large_div.Linux / Линукс 🥸
