jemalloc 5.3.1

Etter en pause på nesten fire år (se "jemalloc alt») utgivelsen av 5.3.1 av allokatoren fant sted jemalloc – en implementering av malloc(3) som vektlegger fragmenteringsforebygging og støtte for skalerbar samtidighet.

Den nye utgivelsen inkluderer over 390 commits med feilrettinger, nye funksjoner, ytelsesoptimaliseringer og forbedringer av portabilitet.

Prosjektet er skrevet i C og distribuert under BSD-lisensen.

Nye funksjoner:

  • pvalloc(3)-støtte.
  • double free oppdaget i feilsøkingsbygg;
  • La til kompileringsalternativet --enable-pageid for å aktivere minnetilordnet annotering.
  • La til kjøretidsparameter prof_bt_max for å kontrollere maksimal stakkdybde for profilering;
  • La til kompileringsalternativet --enable-force-getenv for å bruke getenv i stedet for secure_getenv;
  • La til kompileringsalternativet --disable-dss for å deaktivere bruk av sbrk(2);
  • La til kompileringsalternativet tcache_ncached_max for å kontrollere antall elementer i trådbufferen.
  • La til kjøretidsparameteren calloc_madvise_threshold for å avgjøre om kjernen eller memset brukes til å nullstille allokerte minneblokker når calloc kalles;
  • La til kompileringstidsalternativet --disable-user-config for å deaktivere lesing av konfigurasjoner fra /etc/malloc.conf-filen eller fra miljøvariabelen MALLOC_CONF under kjøretid.
  • La til kjøretidsparameteren disable_large_size_classes for å aktivere den nye algoritmen for beregning av tilgjengelig størrelse, som minimerer minneoverhead ved allokering av store minneblokker, dvs. med en størrelse >= 4 * PAGE;
  • Aktiverte bruken av process_madvise og la til kjøretidsparameteren process_madvise_max_batch for å kontrollere maksimalt antall minneregioner i hver madvise-"batch";
  • mallctl-grensesnitt lagt til:
    • opt.prof_bt_max;
    • arena.
    • thread.tcache.max for å endre og hente tcache_max for den gjeldende tråden;
    • thread.tcache.ncached_max.write og thread.tcache.ncached_max.read_sizeclass for å endre og hente ncached_max for den gjeldende tråden;
    • arenas.hugepage for å returnere den brukte hugepage-størrelsen, også eksportert til malloc-statistikk;
    • approximate_stats.active for å få en omtrentlig verdi av gjeldende antall aktive byte, som ikke skal sammenlignes med annen hentet statistikk.
  • Mange feil er også rettet, og dokumentasjonen er forbedret.

Kilde: linux.org.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig webhotell med DDoS-beskyttelse, VPS VDS-servere | ProHoster