A maeʻa se malologa mo le toeitiiti atoa le fa tausaga (tagai "mea uma a jemalloc») na faia le faʻalauiloaina o le 5.3.1 o le allocator jemalloc – o se faʻatinoga o le malloc(3) e faʻamamafa ai le puipuia o le vaevaeina ma le lagolago mo le faʻatulagaina o le tutusa.
O lenei fa'asalalauga fou e aofia ai le silia ma le 390 tautinoga fa'atasi ai ma fa'asa'oga o mea sese, foliga fou, fa'aleleia atili o le fa'atinoga, ma fa'aleleia atili o le feavea'i.
O le poloketi ua tusia i le C ma tufatufaina i lalo o le laisene BSD.
Avanoa fou:
- lagolago pvalloc(3).
- ua iloa le saoloto faalua i le fausiaina o le debug;
- Ua fa'aopoopoina le filifiliga --enable-pageid compile e fa'agaoioia ai le fa'amatalaga ua fa'afanua i le manatua.
- Ua fa'aopoopoina le parameter runtime prof_bt_max e pulea ai le loloto maualuga o le fa'aputuga mo le fa'avasegaina o fa'amatalaga;
- Ua fa'aopoopoina le filifiliga fa'aputu --enable-force-getenv e fa'aaoga ai le getenv nai lo le secure_getenv;
- Ua fa'aopoopoina le filifiliga --disable-dss compile e fa'agata ai le fa'aaogaina o le sbrk(2);
- Ua fa'aopoopoina le filifiliga fa'aputuga tcache_ncached_max e pulea ai le aofa'i o mea i le thread cache.
- Ua fa'aopoopoina le parakalafa runtime calloc_madvise_threshold e iloa ai pe o fa'aaogaina le kernel po'o le memset e fa'aitiitia ai poloka manatua ua atofaina pe a vala'auina le calloc;
- Ua fa'aopoopoina le filifiliga --disable-user-config compile-time e fa'agata ai le faitauina o fa'atulagaga mai le faila /etc/malloc.conf po'o le fesuia'iga o le siosiomaga MALLOC_CONF i le taimi e fa'agaoioi ai.
- Ua fa'aopoopoina le parakalafa runtime disable_large_size_classes e fa'agaoioia ai le algorithm fou o le fuafuaina o le tele o lo'o avanoa, lea e fa'aitiitia ai le tele o le manatua pe a vaevaeina poloka manatua tetele, e pei o le tele >= 4 * PAGE;
- Ua fa'agaoioia le fa'aogaina o le process_madvise ma fa'aopoopo le fa'ailoga runtime process_madvise_max_batch e pulea ai le aofa'i aupito maualuga o vaega manatua i totonu o "batch" ta'itasi a madvise;
- ua fa'aopoopoina feso'ota'iga mallctl:
- opt.prof_bt_max;
- arena.
- thread.tcache.max e sui ma maua le tcache_max o le filo o loʻo iai nei;
- thread.tcache.ncached_max.write ma le thread.tcache.ncached_max.read_sizeclass e sui ai ma maua le ncached_max o le filo o lo'o iai nei;
- arenas.hugepage e toe faafoi mai ai le tele o le hugepage na faaaogaina, na auina atu foi i fuainumera malloc;
- approximate_stats.active e maua ai se tau fa'atatau o le aofa'i o bytes o lo'o galue i le taimi nei, lea e le tatau ona fa'atusatusa i isi fuainumera ua toe maua.
- Ua fa'asa'oina fo'i le tele o mea sese ma ua fa'aleleia atili fo'i pepa fa'amaumau.
puna: linux.org.ru
