Nakon pauze od skoro četiri godine (vidi "jemalloc sve») objavljena je verzija 5.3.1 alokatora jemalloc – implementacija malloc(3) koja naglašava sprječavanje fragmentacije i podršku za skalabilnu konkurentnost.
Novo izdanje uključuje preko 390 promjena sa ispravkama grešaka, novim funkcijama, optimizacijama performansi i poboljšanjima prenosivosti.
Projekt je napisan u C-u i distribuiran pod BSD licencom.
Nove mogućnosti:
- Podrška za pvalloc(3).
- dvostruko slobodno stanje otkriveno u debug verziji;
- Dodata je opcija kompajliranja --enable-pageid kako bi se omogućile anotacije mapirane u memoriju.
- Dodat je parametar vremena izvođenja prof_bt_max za kontrolu maksimalne dubine steka za profiliranje;
- Dodata je opcija kompajliranja --enable-force-getenv za korištenje getenv umjesto secure_getenv;
- Dodata je opcija kompajliranja --disable-dss za onemogućavanje korištenja sbrk(2);
- Dodata je opcija kompajliranja tcache_ncached_max za kontrolu broja stavki u kešu niti.
- Dodat je parametar calloc_madvise_threshold tokom izvođenja kako bi se odredilo da li se za poništavanje alociranih memorijskih blokova prilikom pozivanja funkcije calloc koristi kernel ili memset;
- Dodata je opcija --disable-user-config prilikom kompajliranja kako bi se onemogućilo čitanje konfiguracija iz datoteke /etc/malloc.conf ili iz varijable okruženja MALLOC_CONF tokom izvođenja programa.
- Dodan je parametar za vrijeme izvođenja disable_large_size_classes kako bi se omogućio novi dostupni algoritam za izračunavanje veličine, koji minimizira opterećenje memorije prilikom alokacije velikih memorijskih blokova, tj. s veličinom >= 4 * PAGE;
- Omogućeno je korištenje process_madvise i dodan je parametar za vrijeme izvođenja process_madvise_max_batch za kontrolu maksimalnog broja memorijskih regija u svakoj madvise "batch" funkciji;
- Dodani mallctl interfejsi:
- opt.prof_bt_max;
- arena.
- thread.tcache.max za promjenu i dobijanje tcache_max trenutne niti;
- thread.tcache.ncached_max.write i thread.tcache.ncached_max.read_sizeclass za promjenu i dobijanje ncached_max trenutne niti;
- arenas.hugepage za vraćanje korištene veličine ogromne stranice, također izvezene u malloc statistiku;
- approximate_stats.active za dobijanje približne vrijednosti trenutne količine aktivnih bajtova, koja se ne bi trebala porediti sa drugim preuzetim statistikama.
- Također je ispravljeno mnogo grešaka, a dokumentacija je poboljšana.
izvor: linux.org.ru
