Piştî navbereke nêzîkî çar salan (binêre "jemalloc her tişt») berdana 5.3.1 ya veqetînerê pêk hat jemalloc - pêkanînek ji malloc(3) ku tekezî li ser pêşîgirtina li perçebûnê û piştgiriya ji bo hevdemiya pîvanbar dike.
Guhertoya nû zêdetirî 390 commitan digel rastkirinên xeletiyan, taybetmendiyên nû, çêtirkirinên performansê, û başkirinên veguştinê vedihewîne.
Ev proje bi zimanê C hatiye nivîsandin û di bin lîsansa BSD de hatiye belavkirin.
Derfetên nû:
- piştgiriya pvalloc(3).
- du qat belaş di avakirina debug de hatin dîtin;
- Vebijêrka berhevkirina --enable-pageid hate zêdekirin da ku şîrovekirina nexşeya bîranînê çalak bike.
- Parametreya dema xebitandinê prof_bt_max ji bo kontrolkirina kûrahiya herî zêde ya stûyê ji bo profîlkirinê hate zêdekirin;
- Vebijêrka berhevkirinê --enable-force-getenv lê zêde kir da ku getenv li şûna secure_getenv were bikar anîn;
- Vebijêrka berhevkirina --disable-dss ji bo neçalakkirina karanîna sbrk(2) hat zêdekirin;
- Vebijêrka berhevkirinê tcache_ncached_max hat zêdekirin da ku hejmara hêmanan di cacheya têlan de kontrol bike.
- Parametreya dema xebitandinê calloc_madvise_threshold lê zêde kir da ku were destnîşankirin ka kernel an memset ji bo sifirkirina blokên bîranînê yên veqetandî dema gazîkirina calloc tê bikar anîn;
- Vebijêrka --disable-user-config compile-time lê zêde kir da ku xwendina mîhengan ji pelê /etc/malloc.conf an ji guhêrbarê jîngehê MALLOC_CONF di dema xebitandinê de neçalak bike.
- Parametreya runtime disable_large_size_classes hate zêdekirin da ku algorîtmaya hesabkirina mezinahiya nû ya berdest çalak bike, ku dema veqetandina blokên bîranînê yên mezin, ango bi mezinahiyek >= 4 * PAGE, serbarê bîranînê kêm dike;
- Bikaranîna process_madvise çalak kir û parametreya runtime process_madvise_max_batch lê zêde kir da ku jimara herî zêde ya herêmên bîranînê di her "batch" a madvise de kontrol bike;
- navrûyên mallctl hatin zêdekirin:
- opt.prof_bt_max;
- arena.
- thread.tcache.max ji bo guhertin û wergirtina tcache_max ya têla heyî;
- thread.tcache.ncached_max.write û thread.tcache.ncached_max.read_sizeclass bikar bînin da ku ncached_max ya têla heyî biguherînin û bistînin;
- arenas.hugepage ji bo vegerandina mezinahiya hugepage ya bikarhatî, her wiha ji bo statîstîkên malloc hatiye hinardekirin;
- approximate_stats.active bikar tîne da ku nirxek texmînî ya mîqdara niha ya bytên çalak bistîne, ku divê bi statîstîkên din ên wergirtî re neyê berhev kirin.
- Gelek xeletî jî hatin rastkirin û belgekirin jî baştir bû.
Source: linux.org.ru
