Izšla je knjižnica za upravljanje pomnilnika jemalloc 5.3.

Izšla je različica 5.4.0 knjižnice za upravljanje pomnilnika jemalloc. Ponuja alternativno implementacijo funkcij malloc, optimizirano za zmanjšanje fragmentacije in izvajanje v večprocesorskih sistemih. Za reševanje težav z zaklepanjem v večjedrnih sistemih jemalloc uporablja lastno izolirano območje za dodeljevanje pomnilnika za vsako jedro procesorja, kar omogoča linearno skalabilnost z naraščajočim številom niti.

Junija 2025 je avtor projekta prenehal z vzdrževanjem in repozitorij jemalloc premaknil v arhivski način, marca letos pa je razvoj nadaljevalo podjetje Meta, ki v svoji infrastrukturi uporablja jemalloc. Knjižnica je bila prvotno razvita za FreeBSD in se v tem operacijskem sistemu privzeto uporablja od leta 2005. Koda knjižnice je napisana v jeziku C in se distribuira pod licenco BSD.

Med spremembami:

  • Logika za polnjenje in brisanje predpomnilnika tcache (Thread Local Cache) ter razporejanje dodeljevanja pomnilnika je bila poenostavljena.
  • Dodeljevalnika strani pomnilnika Page Allocator Classic (PAC) in HPA (Huge Page Allocator) sta bila poenotena. Odstranjen je bil zapleten mehanizem posrednih klicev prek vtable (PAI vtable).
  • Za poenostavitev vzdrževanja in širitve platforme so vse operacije, odvisne od platforme, premaknjene v ločene datoteke glave.
  • Pošiljanje ukazov mallctl je bilo poenostavljeno, infrastruktura za ustvarjanje in prikazovanje statistike pa je bila preoblikovana.
  • Dodana je bila zastavica EXTENT_ALLOC_FLAG_PINNED, ki omogoča označevanje nepreklicnih območij preslikave pomnilnika, kot so strani HugeTLB, za prednostno ponovno uporabo. Dodani so bili novi vmesniki mallctl za pridobivanje pripetih statističnih podatkov o porabi pomnilnika: stats.pinned, stats.arenas..pinned
  • Sinhronizirana vsebina statistike malloc v človeku berljivi in ​​JSON obliki.
  • Odstranjeni so bili zastareli parametri lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div in lg_tcache_flush_large_div.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster