Nakon pauze od gotovo č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 s ispravcima grešaka, novim značajkama, optimizacijama performansi i poboljšanjima prenosivosti.
Projekt je napisan u C-u i distribuira se pod BSD licencom.
Nove mogućnosti:
- podrška za pvalloc(3).
- dvostruko slobodno otkriveno u debug verziji;
- Dodana je opcija kompajliranja --enable-pageid za omogućavanje anotacija mapiranih u memoriju.
- Dodan je parametar vremena izvođenja prof_bt_max za kontrolu maksimalne dubine stoga za profiliranje;
- Dodana je opcija kompajliranja --enable-force-getenv za korištenje getenv umjesto secure_getenv;
- Dodana je opcija kompajliranja --disable-dss za onemogućavanje korištenja sbrk(2);
- Dodana je opcija kompajliranja tcache_ncached_max za kontrolu broja stavki u predmemoriji niti.
- Dodan je parametar vremena izvođenja calloc_madvise_threshold za određivanje koristi li se kernel ili memset za poništavanje dodijeljenih memorijskih blokova prilikom pozivanja calloc-a;
- Dodana je opcija --disable-user-config tijekom kompajliranja za onemogućavanje čitanja konfiguracija iz datoteke /etc/malloc.conf ili iz varijable okruženja MALLOC_CONF tijekom izvođenja.
- Dodan je parametar vremena izvođenja disable_large_size_classes kako bi se omogućio novi dostupni algoritam za izračun veličine, koji minimizira opterećenje memorije prilikom dodjeljivanja 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;
- Dodana sučelja mallctl:
- opt.prof_bt_max;
- 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đer izvezene u malloc statistiku;
- approximate_stats.active za dobivanje približne vrijednosti trenutne količine aktivnih bajtova, koja se ne smije uspoređivati s drugim dohvaćenim statistikama.
- Također su ispravljene mnoge greške i poboljšana je dokumentacija.
Izvor: linux.org.ru
