jemalloc 5.3.1

Na bijna vier jaar pauze (zie "jemalloc is alles") is versie 5.3.1 van de allocator uitgebracht jemalloc – een implementatie van malloc(3), waarbij speciale aandacht wordt besteed aan het voorkomen van fragmentatie en het ondersteunen van schaalbare paralleliteit.

De nieuwe release bevat meer dan 390 commits met bugfixes, nieuwe functies, prestatie-optimalisatie en verbeterde draagbaarheid.

Het project is geschreven in C en wordt verspreid onder de BSD-licentie.

Nieuwe mogelijkheden:

  • ondersteuning voor pvalloc(3).
  • detectie van dubbele vrijgave van geheugen in de debug-build;
  • de compileroptie —enable-pageid is toegevoegd om geheugenannotatie in te schakelen.
  • de runtime-parameter prof_bt_max is toegevoegd om de maximale diepte van de stack voor profilering te beheren;
  • de compileroptie —enable-force-getenv is toegevoegd om getenv te gebruiken in plaats van secure_getenv;
  • de compileroptie —disable-dss is toegevoegd om het gebruik van sbrk(2) uit te schakelen;
  • de compileroptie tcache_ncached_max is toegevoegd om het aantal elementen in de threadcache te beheren.
  • de runtime-parameter calloc_madvise_threshold is toegevoegd om te bepalen of het kernel of memset gebruikt voor het nullen van toegewezen geheblokken bij het aanroepen van calloc;
  • de compileroptie —disable-user-config is toegevoegd om het lezen van configuraties tijdens runtime uit het bestand /etc/malloc.conf of uit de omgevingsvariabele MALLOC_CONF uit te schakelen;
  • de runtime-parameter disable_large_size_classes is toegevoegd om een nieuw algoritme voor de berekening van beschikbare grootte te waarborgen, dat de overhead van geheugenbei bij het toewijzen van grote geheblokken minimaliseert, dat wil zeggen bij een grootte >= 4 * PAGE;
  • het gebruik van process_madvise is ingeschakeld en de runtime-parameter process_madvise_max_batch is toegevoegd om het maximale aantal geheugengebieden in elke "batch" madvise te beheren;
  • mallctl-interfaces zijn toegevoegd:
    • opt.prof_bt_max;
    • arena..name om de namen van "arena's" te wijzigen en op te halen;
    • thread.tcache.max om tcache_max van de huidige thread te wijzigen en op te halen;
    • thread.tcache.ncached_max.write en thread.tcache.ncached_max.read_sizeclass om ncached_max van de huidige thread te wijzigen en op te halen;
    • arenas.hugepage om de gebruikte grootte van hugepage terug te geven, ook geëxporteerd in de malloc-statistieken;
    • approximate_stats.active om een benaderende waarde van het huidige aantal actieve bytes te verkrijgen, dat niet vergeleken moet worden met andere verkregen statistieken.
  • veel fouten zijn ook opgelost en de documentatie is verbeterd.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster