jemalloc 5.3.1

Pēc gandrīz četru gadu pauzes (skat. "jemalloc viss") notika 5.3.1 alokatora izlaišana tcmalloc – malloc(3) īstenojums, kurā īpaša uzmanība pievērsta fragmentācijas novēršanai un mērogojamai paralelitātei.

Jaunajā laidienā iekļauti vairāk nekā 390 komiti, kas labo kļūdas, pievieno jaunas funkcijas, optimizē veiktspēju un uzlabo pārnesamību.

Projekts uzrakstīts valodā C un tiek izplatīts ar BSD licenci.

Jaunas iespējas:

  • atbalsts pvalloc(3).
  • dubultā atbrīvošanas atklāšana atjaunošanas izstrādes versijā;
  • pievienota kompilācijas opcija —enable-pageid, lai aktivizētu parādīto atmiņas anotāciju.
  • pievienots runtime parametrs prof_bt_max, lai kontrolētu maksimālo steka dziļumu profilēšanai;
  • pievienota kompilācijas opcija —enable-force-getenv, lai izmantotu getenv vietā secure_getenv;
  • pievienota kompilācijas opcija —disable-dss, lai atslēgtu sbrk(2) izmantošanu;
  • pievienota kompilācijas opcija tcache_ncached_max, lai kontrolētu elementu skaitu pavedienu kešā.
  • pievienots runtime parametrs calloc_madvise_threshold, lai noteiktu, vai tiek izmantots kodols vai memset, lai nullētu piešķirtās atmiņas blokas, kad tiek izsaukta calloc;
  • pievienota kompilācijas opcija —disable-user-config, lai atslēgtu konfiguāciju lasīšanu izpildes laikā no faila /etc/malloc.conf vai no vides mainīgā MALLOC_CONF;
  • pievienots runtime parametrs disable_large_size_classes, lai nodrošinātu jaunā pieejamā izmēra aprēķina algoritma darbību, kas minimizē atmiņas pārklāšanās izmaksas, piešķirot lielas atmiņas blokas, t.i., ar izmēru >= 4 * PAGE;
  • iekļautas process_madvise izmantošana un pievienots runtime parametrs process_madvise_max_batch, lai kontrolētu maksimālo reģionu skaitu katrā "partijā" madvise;
  • pievienoti mallctl interfeisi:
    • opt.prof_bt_max;
    • arena.<i>.name, lai mainītu un iegūtu "arēnu" nosaukumus;
    • thread.tcache.max, lai mainītu un iegūtu pašreizējā pavediena tcache_max;
    • thread.tcache.ncached_max.write un thread.tcache.ncached_max.read_sizeclass, lai mainītu un iegūtu ncached_max pašreizējā pavediena;
    • arenas.hugepage, lai atgrieztu izmantoto hugepage lielumu, ko arī eksportē malloc statistikā;
    • approximate_stats.active, lai iegūtu aptuveno pašreizējo aktīvo byte apjomu, kuru nevajadzētu salīdzināt ar citiem iegūtiem statistikas datiem.
  • tāpat novērstas daudzas kļūdas un uzlabota dokumentācija.

Avots: linux.org.ru

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster