Lähes neljän vuoden tauon jälkeen (ks.jemalloc kaikki») allokaattorin kohdan 5.3.1 julkaisu tapahtui jemalloc – malloc(3):n toteutus, joka korostaa fragmentoitumisen estämistä ja skaalautuvan samanaikaisuuden tukemista.
Uusi julkaisu sisältää yli 390 committia, jotka sisältävät virheenkorjauksia, uusia ominaisuuksia, suorituskyvyn optimointeja ja siirrettävyyden parannuksia.
Projekti on kirjoitettu C-kielellä ja jaettu BSD-lisenssillä.
Uudet ominaisuudet:
- pvalloc(3)-tuki.
- kaksinkertainen vapaa havaittu debug-koontiversiossa;
- Lisätty --enable-pageid käännösoptio muistiin yhdistettyjen annotaatioiden ottamiseksi käyttöön.
- Lisätty ajonaikainen parametri prof_bt_max profiloinnin enimmäispinosyvyyden hallintaan;
- Lisätty käännösoptio --enable-force-getenv getenv:n käyttämiseksi secure_getenv:n sijaan;
- Lisätty --disable-dss käännösoptio sbrk(2):n käytön poistamiseksi käytöstä;
- Lisätty käännösasetus tcache_ncached_max säikeiden välimuistissa olevien kohteiden määrän hallintaan.
- Lisätty ajonaikainen parametri calloc_madvise_threshold sen määrittämiseksi, käytetäänkö ydintä vai memsettiä allokoitujen muistilohkojen nollaamiseen calloc-kutsussa;
- Lisätty käännösaikainen --disable-user-config-optio, jolla voidaan poistaa käytöstä konfiguraatioiden lukeminen /etc/malloc.conf-tiedostosta tai MALLOC_CONF-ympäristömuuttujasta ajonaikana.
- Lisätty ajonaikainen parametri disable_large_size_classes uuden koon laskenta-algoritmin käyttöönottamiseksi, mikä minimoi muistin ylimääräisen osan suuria muistilohkoja allokoitaessa, eli kun koko on >= 4 * PAGE;
- Otettiin käyttöön process_madvise-käsky ja lisättiin suorituksenaikainen parametri process_madvise_max_batch, jolla hallitaan muistialueiden enimmäismäärää kussakin madvise-"erässä";
- mallctl-rajapinnat lisätty:
- opt.prof_bt_max;
- areena.
- thread.tcache.max muuttaaksesi ja hakeaksesi nykyisen säikeen tcache_max-arvon;
- thread.tcache.ncached_max.write ja thread.tcache.ncached_max.read_sizeclass muuttaaksesi ja hakeaksesi nykyisen säikeen ncached_max-arvon;
- arenas.hugepage palauttaa käytetyn hugepage-koon, joka viedään myös malloc-tilastoihin;
- approximate_stats.active hakee likimääräisen arvon aktiivisten tavujen nykyisestä määrästä, jota ei tule verrata muihin noudettuihin tilastoihin.
- Myös monia bugeja on korjattu ja dokumentaatiota on parannettu.
Lähde: linux.org.ru
