jemalloc 5.3.1

După o pauză de aproape patru ani (vezi "jemalloc totul») a avut loc lansarea versiunii 5.3.1 a alocatorului jemalloc – o implementare a malloc(3) care pune accentul pe prevenirea fragmentării și pe suportul pentru concurență scalabilă.

Noua versiune include peste 390 de commit-uri cu corecții de erori, funcții noi, optimizări de performanță și îmbunătățiri ale portabilității.

Proiectul este scris în C și distribuit sub licența BSD.

Caracteristici noi:

  • Suport pentru pvalloc(3).
  • dublu liber detectat în versiunea de depanare;
  • A fost adăugată opțiunea de compilare --enable-pageid pentru a activa adnotarea mapată în memorie.
  • A fost adăugat parametrul de execuție prof_bt_max pentru a controla adâncimea maximă a stivei pentru profilare;
  • Adăugată opțiunea de compilare --enable-force-getenv pentru a utiliza getenv în loc de secure_getenv;
  • Adăugată opțiunea de compilare --disable-dss pentru a dezactiva utilizarea sbrk(2);
  • A fost adăugată opțiunea de compilare tcache_ncached_max pentru a controla numărul de elemente din memoria cache a thread-urilor.
  • A fost adăugat parametrul de execuție calloc_madvise_threshold pentru a determina dacă kernelul sau memset-ul sunt utilizate pentru a aduce la zero blocurile de memorie alocate la apelarea calloc;
  • A fost adăugată opțiunea --disable-user-config la compilare pentru a dezactiva citirea configurațiilor din fișierul /etc/malloc.conf sau din variabila de mediu MALLOC_CONF la momentul execuției.
  • A fost adăugat parametrul de execuție disable_large_size_classes pentru a activa noul algoritm de calcul al dimensiunii disponibil, care minimizează supraîncărcarea memoriei la alocarea blocurilor mari de memorie, adică cu o dimensiune >= 4 * PAGE;
  • A fost activată utilizarea process_madvise și a fost adăugat parametrul de execuție process_madvise_max_batch pentru a controla numărul maxim de regiuni de memorie din fiecare „batch” madvise;
  • Interfețele mallctl adăugate:
    • opt.prof_bt_max;
    • arena.
    • thread.tcache.max pentru a modifica și obține tcache_max-ul firului de execuție curent;
    • thread.tcache.ncached_max.write și thread.tcache.ncached_max.read_sizeclass pentru a modifica și obține ncached_max-ul firului de execuție curent;
    • arenas.hugepage pentru a returna dimensiunea paginii uriașe utilizată, exportată și în malloc stats;
    • approximate_stats.active pentru a obține o valoare aproximativă a numărului curent de octeți activi, care nu ar trebui comparată cu alte statistici preluate.
  • De asemenea, au fost corectate multe erori, iar documentația a fost îmbunătățită.

Sursa: linux.org.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster