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
