Baada ya mapumziko ya karibu miaka minne (tazama "jemalloc kila kitu») kutolewa kwa 5.3.1 ya mgawaji kulifanyika jemalloc - utekelezaji wa malloc(3) unaosisitiza kuzuia mgawanyiko na usaidizi wa sarafu inayoweza kupanuliwa.
Toleo jipya linajumuisha zaidi ya vipengee 390 vyenye marekebisho ya hitilafu, vipengele vipya, uboreshaji wa utendaji, na maboresho ya urahisi wa kubebeka.
Mradi umeandikwa kwa herufi C na kusambazwa chini ya leseni ya BSD.
Vipengele vipya:
- usaidizi wa pvalloc(3).
- hugunduliwa mara mbili bila malipo katika uundaji wa utatuzi wa makosa;
- Imeongeza chaguo la kukusanya --enable-pageid ili kuwezesha maelezo yaliyowekwa kwenye kumbukumbu.
- Imeongeza kigezo cha muda wa utekelezaji prof_bt_max ili kudhibiti kina cha juu zaidi cha rafu kwa ajili ya uundaji wa wasifu;
- Imeongeza chaguo la kukusanya --enable-force-getenv ili kutumia getenv badala ya secure_getenv;
- Imeongeza chaguo la kukusanya --disable-dss ili kuzima matumizi ya sbrk(2);
- Imeongeza chaguo la kukusanya tcache_ncached_max ili kudhibiti idadi ya vipengee kwenye akiba ya uzi.
- Kigezo cha muda wa utekelezaji kimeongezwa cha calloc_madvise_threshold ili kubaini kama kiini au memset kinatumika kuondoa vizuizi vya kumbukumbu vilivyotengwa wakati wa kupiga simu calloc;
- Imeongeza chaguo la --disable-user-config compile-time ili kuzima usomaji wa usanidi kutoka kwa faili ya /etc/malloc.conf au kutoka kwa kigezo cha mazingira cha MALLOC_CONF wakati wa utekelezaji.
- Imeongeza kigezo cha muda wa utekelezaji disable_large_size_classes ili kuwezesha algoriti mpya inayopatikana ya hesabu ya ukubwa, ambayo hupunguza gharama ya kumbukumbu wakati wa kutenga vizuizi vikubwa vya kumbukumbu, yaani kwa ukubwa >= 4 * PAGE;
- Imewezesha matumizi ya process_madvise na kuongeza kigezo cha muda wa utekelezaji process_madvise_max_batch ili kudhibiti idadi ya juu zaidi ya maeneo ya kumbukumbu katika kila "batch" ya madvise;
- violesura vya mallctl vimeongezwa:
- opt.prof_bt_max;
- uwanja.
- thread.tcache.max ili kubadilisha na kupata tcache_max ya uzi wa sasa;
- thread.tcache.ncached_max.write na thread.tcache.ncached_max.read_sizeclass ili kubadilisha na kupata ncached_max ya thread ya sasa;
- arenas.hugepage ili kurudisha ukubwa wa hugepage uliotumika, pia husafirishwa kwa takwimu za malloc;
- approximate_stats.active ili kupata thamani ya takriban ya kiasi cha sasa cha baiti amilifu, ambazo hazipaswi kulinganishwa na takwimu zingine zilizopatikana.
- Makosa mengi pia yamerekebishwa na nyaraka zimeboreshwa.
Chanzo: linux.org.ru
