Peaaegu nelja-aastase pausi jĂ€rel (vt «jemalloc on nĂŒĂŒd») vĂ€ljastati 5.3.1 allocator jemalloc â malloc(3) teostus, millele on pööratud erilist tĂ€helepanu fragmentatsiooni vĂ€ltimisele ja skaleeritava.parallelismile.
Uus vĂ€ljaanne sisaldab ĂŒle 390 commit'i, mis on seotud vigade parandamise, uute funktsioonide, jĂ”udluse optimeerimise ja ĂŒlekantavuse parandamisega.
Projekt on kirjutatud C keeles ja on litsentseeritud BSD alusel.
Uued vÔimalused:
- pvalloc(3) toetus.
- TopeltmÀluhalduri avastamine silumise versioonis;
- kompileerimisvalik âenable-pageid, et lubada nĂ€idatud mĂ€lu annotatsiooni.
- Lisatud runtime-parameeter prof_bt_max, et juhtida maksimumi sĂŒgavust kuhja profiilimisel;
- Lisatud kompilatsioonivalik âenable-force-getenv, et kasutada getenv asemel secure_getenv;
- Lisatud kompilatsioonivalik âdisable-dss, et keelata sbrk(2) kasutamine;
- Lisatud kompilatsioonivalik tcache_ncached_max korraldamiseks elemendi arvu kevadisomises.
- Lisatud runtime-parameeter calloc_madvise_threshold, et mÀÀrata, kas tuum vÔi memset kasutatakse eraldatud mÀlublokide nullimiseks calloci kutsel;
- kompileerimise valik âdisable-user-config on lisatud, et deaktiveerida konfiguratsioonifaili /etc/malloc.conf vĂ”i keskkonnamuutuja MALLOC_CONF lugemine töö ajal;
- lisatud jooksuaja parameeter disable_large_size_classes, et tagada uue mÀlumahutite suuruse arvutamise algoritmi toimimine, mis vÀhendab suurte mÀlablokkide, st >= 4 * PAGE, tÀiendavaid kulusid;
- protsessi protsessimisel on kasutusele vÔetud process_madvise ja lisatud jooksuaja parameeter process_madvise_max_batch, et kontrollida mÀleregionide maksimaalset arvu igas madvise 'partiis';
- lisatud mallctl liidesed:
- opt.prof_bt_max;
- arena.<i>.name, et muuta ja saada 'arena' nimesid;
- thread.tcache.max, et muuta ja saada praeguse teema tcache_max;
- thread.tcache.ncached_max.write ja thread.tcache.ncached_max.read_sizeclass, et muuta ja saada praeguse teema ncached_max;
- arenas.hugepage, et tagastada kasutatud hugepage'i suurus, samuti eksportida see malloci statistikale;
- approximate_stats.active, et saada ligikaudne vÀÀrtus praeguste aktiivsete baitide mahust, mida ei tohi vÔrrelda teiste saadud statistikatega.
- paljusid vigu on samuti parandatud ja dokumentatsiooni on parandatud.
Allikas: linux.org.ru
