Pas njĂ« pauze prej pothuajse katĂ«r vjetĂ«sh (shih «jemalloc tĂ« gjitha» u lansua versioni 5.3.1 i allocatorit jemalloc â njĂ« implementim i malloc(3), ku vĂ«mendje e veçantĂ« i kushtohet parandalimit tĂ« fragmentimit dhe mbĂ«shtetjes sĂ« paralelitetit tĂ« shkallĂ«zuar.
Lëshimi i ri përfshin më shumë se 390 commits me rregullime gabimesh, funksione të reja, optimizimin e performancës dhe përmirësimin e portabilitetit.
Projekti është shkruar në gjuhën C dhe shpërndahet sipas licencës BSD.
Funksionet e reja:
- mbështetje për pvalloc(3).
- zbulimi i lirimit të dyfishtë të memories në ndërtimin e deblimit;
- shtuar opsioni i kompilimit âenable-pageid pĂ«r aktivizimin e annotimit tĂ« memories sĂ« hartuar.
- shtuar паŃĐ°ĐŒĐ”ŃŃŃ runtime prof_bt_max pĂ«r tĂ« menaxhuar thellĂ«sinĂ« maksimale tĂ« stack-ut pĂ«r profilizim;
- shtuar opsioni i kompilimit âenable-force-getenv pĂ«r pĂ«rdorimin e getenv nĂ« vend tĂ« secure_getenv;
- shtuar opsioni i kompilimit âdisable-dss pĂ«r tĂ« çaktivizuar pĂ«rdorimin e sbrk(2);
- shtuar opsioni i kompilimit tcache_ncached_max për të menaxhuar numrin e elementeve në cache-në e thread-eve.
- shtuar паŃĐ°ĐŒĐ”ŃŃŃ runtime calloc_madvise_threshold pĂ«r tĂ« pĂ«rcaktuar nĂ«se pĂ«rdoret kernel apo memset pĂ«r zerimin e blloqeve tĂ« alokuara tĂ« memories gjatĂ« thirrjes sĂ« calloc;
- Ă«shtĂ« shtuar opsioni i kompilimit âdisable-user-config pĂ«r tĂ« ndaluar leximin gjatĂ« ekzekutimit tĂ« konfigurimeve nga skedari /etc/malloc.conf ose nga variabla ambient MALLOC_CONF;
- është shtuar parametri runtime disable_large_size_classes për të siguruar funksionimin e algoritmit të ri për llogaritjen e madhësisë së disponueshme, i cili minimizon shpenzimet e memories kur alokohen blloqe të mëdha memories, dmth me madhësi >= 4 * PAGE;
- është aktivizuar përdorimi i process_madvise dhe është shtuar parametri runtime process_madvise_max_batch për të kontrolluar numrin maksimal të rajoneve të memories në çdo "paketë" madvise;
- janë shtuar ndërfaqet mallctl:
- opt.prof_bt_max;
- arena.<i>.name për të modifikuar dhe marrë emrat e "arenave";
- thread.tcache.max për të modifikuar dhe marrë tcache_max e thread-it aktual;
- thread.tcache.ncached_max.write dhe thread.tcache.ncached_max.read_sizeclass për të modifikuar dhe marrë ncached_max e thread-it aktual;
- arenas.hugepage për të kthyer madhësinë e përdorur të hugepage, gjithashtu të eksportuar në statistikën malloc;
- approximate_stats.active për të marrë një vlerë përafërsisht të madhësisë aktuale aktive të bytes, e cila nuk duhet të krahasohet me të dhëna të tjera statistikore të marra.
- po ashtu janë korrigjuar shumë gabime dhe është përmirësuar dokumentacioni.
Burimi: linux.org.ru
