jemalloc 5.3.1

Nakon gotovo četiri godine pauze (vidi „jemalloc sve”) objavljeno je 5.3.1 allocatora jemalloc – implementacija malloc(3), koja se posebno fokusira na sprječavanje fragmentacije i podršku za skalabilnu paralelnost.

Nova verzija uključuje više od 390 commit-a sa ispravcima grešaka, novim funkcijama, optimizacijom performansi i poboljšanjem prenosivosti.

Projekt je napisan na jeziku C i distribuira se pod BSD licencom.

Nove mogućnosti:

  • podrška za pvalloc(3).
  • otkrivanje dvojne oslobođenja memorije u debug izdanju;
  • dodana opcija kompilacije —enable-pageid za uključivanje anotacije prikazane memorije.
  • dodana runtime opcija prof_bt_max za upravljanje maksimalnom dubinom stoga za profiliranje;
  • dodana opcija kompilacije —enable-force-getenv za korištenje getenv umjesto secure_getenv;
  • dodana opcija kompilacije —disable-dss za onemogućavanje korištenja sbrk(2);
  • dodana opcija kompilacije tcache_ncached_max za upravljanje brojem elemenata u thread cache-u.
  • dodana runtime opcija calloc_madvise_threshold za određivanje koristimo li kernel ili memset za nulairanje dodijeljenih blokova memorije prilikom poziva calloc;
  • dodana opcija kompilacije —disable-user-config za onemogućavanje čitanja tijekom rada konfiguracija iz datoteke /etc/malloc.conf ili iz varijable okruženja MALLOC_CONF;
  • dodana runtime opcija disable_large_size_classes za osiguranje rada novog algoritma za izračun dostupne veličine, koji minimizira troškove memorije prilikom dodjele velikih blokova memorije, tj. s veličinom >= 4 * PAGE;
  • omogućena je upotreba process_madvise i dodana runtime opcija process_madvise_max_batch za upravljanje maksimalnim brojem regija memorije u svakoj 'tasci' madvise;
  • dodani su mallctl interfejsi:
    • opt.prof_bt_max;
    • arena..name za promjenu i dobivanje imena 'arena';
    • thread.tcache.max za promjenu i dobivanje tcache_max trenutne niti;
    • thread.tcache.ncached_max.write i thread.tcache.ncached_max.read_sizeclass za promjenu i dobivanje ncached_max trenutne niti;
    • arenas.hugepage za vraćanje korištene veličine hugepage, takođe izvezene u statistiku malloc;
    • approximate_stats.active za dobivanje približne vrijednosti trenutnog volumena aktivnih bajtova, koju ne treba uspoređivati s drugim dobivenim statističkim podacima.
  • takođe su ispravljene mnoge greške i poboljšana dokumentacija.

Izvor: linux.org.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster