Vyšla knižnica správy pamäte jemalloc 5.3

Bol zverejnený release knižnice na správu pamäte jemalloc 5.4.0, ktorá ponúka alternatívnu implementáciu funkcionality malloc, optimalizovanú na zníženie fragmentácie a fungovanie na viacprocesorových systémoch. Na riešenie problémov s blokovaním na viacerých jadrách používa jemalloc pre každé CPU jadro svoju izolovanú oblasť alokácie pamäte, čo umožňuje dosiahnuť lineárnu škálovateľnosť s rastúcim počtom vlákien.

V júni 2025 autor projektu prestal projekt podporovať a preložil repozitár jemalloc do archívneho režimu, no v marci tohto roka obnovila vývoj spoločnosť Meta, ktorá využíva jemalloc vo svojej infraštruktúre. Knižnica bola pôvodne vyvinutá pre FreeBSD a od roku 2005 sa v tejto OS používa ako predvolená. Kód knižnice je napísaný v jazyku C a šíri sa pod licenciou BSD.

Medzi zmenami:

  • Zjednodušená logika plnenia a vyprázdňovania tcache (Thread Local Cache), ako aj spravovanie alokácií pamäte.
  • Zjednotené alokátory strán pamäte PAC (Page Allocator Classic) a HPA (Huge Page Allocator). Odstránený bol komplikovaný mechanizmus nepriamych volaní cez vtable (PAI vtable).
  • Pre zjednodušenie údržby a rozšírenia platforiem boli všetky platformovo závislé operácie presunuté do samostatných hlavičkových súborov.
  • Zjednodušená správa príkazov mallctl, ako aj prepracovaná infraštruktúra generovania a výstupu štatistík.
  • Pridaná vlajka EXTENT_ALLOC_FLAG_PINNED, ktorá umožňuje označovať nevytláčateľné oblasti mapovania pamäte, ako sú stránky HugeTLB, na ich prioritné opätovné využitie. Pre získanie štatistík o používaní priľnutej pamäte boli pridané nové rozhrania mallctl: stats.pinned, stats.arenas..pinned, stats.arenas..extents..npinned, stats.arenas..extents..pinned_bytes a stats.arenas..mutexes.extents_pinned.{counter}.
  • Synchronizovaný obsah štatistík malloc vo čitateľných a JSON formátoch.
  • Odstránené zastarané parametre lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div a lg_tcache_flush_large_div.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster