Post paŭzo de preskaŭ kvar jaroj (vidu "jemalloc ĉio») la eldono de 5.3.1 de la asignanto okazis jemalloc – efektivigo de malloc(3) kiu emfazas preventon de fragmentiĝo kaj subtenon por skalebla samtempeco.
La nova eldono inkluzivas pli ol 390 ŝanĝojn kun cimo-korektoj, novaj funkcioj, rendimentaj optimumigoj kaj plibonigoj de porteblo.
La projekto estas verkita en C kaj distribuita sub la BSD-licenco.
Novaj ŝancoj:
- subteno de pvalloc(3).
- duobla libera detektita en sencimiga konstruo;
- Aldonita la kompila opcio --enable-pageid por ebligi memor-mapitan komentadon.
- Aldonita rultempa parametro prof_bt_max por kontroli la maksimuman stakprofundon por profilado;
- Aldonita kompila opcio --enable-force-getenv por uzi getenv anstataŭ secure_getenv;
- Aldonita la kompila opcio --disable-dss por malebligi la uzon de sbrk(2);
- Aldonis la kompilan opcion tcache_ncached_max por regi la nombron de eroj en la fadena kaŝmemoro.
- Aldonita rultempa parametro calloc_madvise_threshold por determini ĉu la kerno aŭ memaro estas uzata por nuligi asignitajn memorblokojn dum alvoko de calloc;
- Aldonis la kompiltempo-opcion --disable-user-config por malebligi la legadon de agordoj el la dosiero /etc/malloc.conf aŭ el la ĉirkaŭa variablo MALLOC_CONF dum rulado.
- Aldonis la rultempan parametron disable_large_size_classes por ebligi la novan haveblan algoritmon por kalkuli grandecon, kiu minimumigas memorŝarĝon dum asignado de grandaj memorblokoj, t.e. kun grandeco >= 4 * PAGE;
- Ebligis la uzon de process_madvise kaj aldonis la rultempan parametron process_madvise_max_batch por kontroli la maksimuman nombron de memorregionoj en ĉiu madvise "batch";
- mallctl-interfacoj aldonitaj:
- elekti.prof_bt_max;
- arena.
- thread.tcache.max por ŝanĝi kaj akiri la tcache_max de la nuna fadeno;
- thread.tcache.ncached_max.write kaj thread.tcache.ncached_max.read_sizeclass por ŝanĝi kaj akiri la ncached_max de la nuna fadeno;
- arenas.hugepage por redoni la uzitan grandegan paĝograndecon, ankaŭ eksportitan al malloc-statistikoj;
- approximate_stats.active por ricevi proksimuman valoron de la nuna kvanto de aktivaj bajtoj, kiu ne estu komparata kun aliaj prenitaj statistikoj.
- Multaj cimoj ankaŭ estis riparitaj kaj la dokumentado estis plibonigita.
fonto: linux.org.ru
