Po takmer štvorročnej prestávke (pozri „všetko») došlo k vydaniu verzie 5.3.1 alokátora jemalloc – implementácia malloc(3), ktorá kladie dôraz na prevenciu fragmentácie a podporu škálovateľnej súbežnosti.
Nová verzia obsahuje viac ako 390 zmien s opravami chýb, novými funkciami, optimalizáciami výkonu a vylepšeniami prenositeľnosti.
Projekt je napísaný v jazyku C a distribuovaný pod licenciou BSD.
Nové príležitosti:
- Podpora pre pvalloc(3).
- v ladiacom zostavení zistené dvojité uvoľnenie;
- Pridaná možnosť kompilácie --enable-pageid na povolenie anotácií mapovaných do pamäte.
- Pridaný parameter runtime prof_bt_max na ovládanie maximálnej hĺbky zásobníka pre profilovanie;
- Pridaná možnosť kompilácie --enable-force-getenv na použitie getenv namiesto secure_getenv;
- Pridaná možnosť kompilácie --disable-dss na zakázanie použitia sbrk(2);
- Pridaná voľba kompilácie tcache_ncached_max na riadenie počtu položiek vo vyrovnávacej pamäti vlákien.
- Pridaný parameter runtime calloc_madvise_threshold na určenie, či sa na vynulovanie alokovaných pamäťových blokov pri volaní calloc použije jadro alebo memset;
- Pridaná možnosť kompilácie --disable-user-config na zakázanie čítania konfigurácií zo súboru /etc/malloc.conf alebo z premennej prostredia MALLOC_CONF počas behu.
- Pridaný parameter runtime disable_large_size_classes na povolenie nového dostupného algoritmu výpočtu veľkosti, ktorý minimalizuje pamäťovú réžiu pri alokácii veľkých pamäťových blokov, t. j. s veľkosťou >= 4 * PAGE;
- Povolené používanie process_madvise a pridaný parameter runtime process_madvise_max_batch na riadenie maximálneho počtu pamäťových oblastí v každej „dávke“ madvise;
- pridané rozhrania mallctl:
- opt.prof_bt_max;
- arena.
- thread.tcache.max na zmenu a získanie tcache_max aktuálneho vlákna;
- thread.tcache.ncached_max.write a thread.tcache.ncached_max.read_sizeclass na zmenu a získanie ncached_max aktuálneho vlákna;
- arenas.hugepage na vrátenie použitej veľkosti obrovskej stránky, ktorá sa tiež exportuje do štatistík malloc;
- approximate_stats.active na získanie približnej hodnoty aktuálneho množstva aktívnych bajtov, ktorá by sa nemala porovnávať s inými načítanými štatistikami.
- Opravených bolo aj veľa chýb a vylepšená dokumentácia.
Zdroj: linux.org.ru
