Ir izlaista jemalloc atmiÅas pÄrvaldÄ«bas bibliotÄkas 5.4.0 versija. TÄ piedÄvÄ alternatÄ«vu malloc funkciju ievieÅ”anu, kas ir optimizÄta fragmentÄcijas samazinÄÅ”anai un darbÄ«bai daudzprocesoru sistÄmÄs. Lai risinÄtu bloÄ·ÄÅ”anas problÄmas daudzkodolu sistÄmÄs, jemalloc katram centrÄlÄ procesora kodolam izmanto savu izolÄtu atmiÅas pieŔķirÅ”anas apgabalu, nodroÅ”inot lineÄru mÄrogojamÄ«bu, palielinoties pavedienu skaitam.
2025. gada jÅ«nijÄ projekta autors pÄrtrauca uzturÄÅ”anu un pÄrvietoja jemalloc repozitoriju uz arhÄ«va režīmu, bet Ŕī gada martÄ izstrÄdi atsÄka Meta, kas savÄ infrastruktÅ«rÄ izmanto jemalloc. BibliotÄka sÄkotnÄji tika izstrÄdÄta FreeBSD un kopÅ” 2005. gada pÄc noklusÄjuma tiek izmantota Å”ajÄ operÄtÄjsistÄmÄ. BibliotÄkas kods ir rakstÄ«ts C valodÄ un tiek izplatÄ«ts saskaÅÄ ar BSD licenci.
Starp izmaiÅÄm:
- Ir vienkÄrÅ”ota tcache (Thread Local Cache) aizpildīŔanas un notÄ«rīŔanas loÄ£ika, kÄ arÄ« atmiÅas pieŔķirÅ”anas dispeÄera darbÄ«ba.
- Page Allocator Classic (PAC) un HPA (Huge Page Allocator) atmiÅas lapu pieŔķīrÄji ir apvienoti. Ir noÅemts sarežģītais netieÅ”o izsaukumu mehÄnisms, izmantojot vtable (PAI vtable).
- Lai vienkÄrÅ”otu apkopi un platformas paplaÅ”inÄÅ”anu, visas no platformas atkarÄ«gÄs darbÄ«bas tiek pÄrvietotas uz atseviŔķiem galvenes failiem.
- Mallctl komandu nosÅ«tīŔana ir vienkÄrÅ”ota, un ir pÄrveidota statistikas Ä£enerÄÅ”anas un attÄloÅ”anas infrastruktÅ«ra.
- Pievienots karodziÅÅ” EXTENT_ALLOC_FLAG_PINNED, kas ļauj prioritÄrai atkÄrtotai izmantoÅ”anai atzÄ«mÄt atmiÅas kartÄÅ”anas reÄ£ionus, kurus nevar priekÅ”laicÄ«gi izÅemt, piemÄram, HugeTLB lapas. Pievienotas jaunas mallctl saskarnes piespraustas atmiÅas izmantoÅ”anas statistikas iegūŔanai: stats.pinned, stats.arenas..pinned
- SinhronizÄts malloc statistikas saturs cilvÄkam lasÄmÄ un JSON formÄtos.
- NoÅemti novecojuÅ”i 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 un lg_tcache_flush_large_div.
Avots: opennet.ru
