Na 'n onderbreking van byna vier jaar (sien "jemalloc alles») die vrystelling van 5.3.1 van die toewyser het plaasgevind jemalloc – 'n implementering van malloc(3) wat fragmentasievoorkoming en ondersteuning vir skaalbare gelyktydigheid beklemtoon.
Die nuwe vrystelling bevat meer as 390 commits met foutoplossings, nuwe funksies, prestasie-optimalisering en verbeterings aan draagbaarheid.
Die projek is in C geskryf en versprei onder die BSD-lisensie.
Nuwe funksies:
- pvalloc(3) ondersteuning.
- dubbel vry opgespoor in ontfoutingsbou;
- Die --enable-pageid-kompileeropsie is bygevoeg om geheuegekarteerde annotasie te aktiveer.
- Looptydparameter prof_bt_max bygevoeg om die maksimum stapeldiepte vir profilering te beheer;
- Het kompileringsopsie --enable-force-getenv bygevoeg om getenv in plaas van secure_getenv te gebruik;
- Het die --disable-dss-kompileeropsie bygevoeg om die gebruik van sbrk(2) te deaktiveer;
- Het die kompileringsopsie tcache_ncached_max bygevoeg om die aantal items in die draadkasgeheue te beheer.
- Het looptydparameter calloc_madvise_threshold bygevoeg om te bepaal of die kern of memset gebruik word om toegekende geheueblokke uit te nul wanneer calloc geroep word;
- Het die --disable-user-config-kompileertyd-opsie bygevoeg om die lees van konfigurasies vanaf die /etc/malloc.conf-lêer of vanaf die MALLOC_CONF-omgewingveranderlike tydens looptyd te deaktiveer.
- Die looptydparameter disable_large_size_classes is bygevoeg om die nuwe algoritme vir die berekening van beskikbare grootte te aktiveer, wat geheue-oorhoofse koste verminder wanneer groot geheueblokke toegeken word, d.w.s. met 'n grootte >= 4 * PAGE;
- Die gebruik van process_madvise is geaktiveer en die looptydparameter process_madvise_max_batch is bygevoeg om die maksimum aantal geheuestreke in elke madvise-"bondel" te beheer;
- mallctl-koppelvlakke bygevoeg:
- opt.prof_bt_max;
- arena.
- thread.tcache.max om te verander en die tcache_max van die huidige draad te kry;
- thread.tcache.ncached_max.write en thread.tcache.ncached_max.read_sizeclass om te verander en die ncached_max van die huidige draad te kry;
- arenas.hugepage om die gebruikte hugepage-grootte terug te gee, ook uitgevoer na malloc-statistieke;
- approximate_stats.active om 'n benaderde waarde van die huidige hoeveelheid aktiewe grepe te kry, wat nie met ander opgehaalde statistieke vergelyk moet word nie.
- Baie foute is ook reggestel en die dokumentasie is verbeter.
Bron: linux.org.ru
