Pas almost katĂ«r vjet pushimi (shih "jemalloc gjithashtu") u lĂ«shua versioni 5.3.1 i alokatorit jemalloc â njĂ« implementim i malloc(3), ku vĂ«mendje e veçantĂ« i Ă«shtĂ« kushtuar parandalimit tĂ« fragmentimit dhe mbĂ«shtetjes sĂ« paralelizmit tĂ« shkallĂ«zuar.
Versioni i ri përfshin më shumë se 390 commit-e me korrigjime gabimesh, funksionalitete të reja, optimizim të performancës dhe përmirësim të portueshmërisë.
Projekti është shkruar në gjuhën C dhe shpërndahet nën licencën BSD.
Funksionalitete të reja:
- mbështetje për pvalloc(3).
- zbulimi i çlirimit të dyfishtë të memories në ndërtimin e diagnostikimit;
- shtuar opsioni i kompilimit âenable-pageid pĂ«r pĂ«rfshirjen e annotimeve tĂ« memories sĂ« shfaqur.
- shtuar parametrin runtime prof_bt_max për të menaxhuar thellësinë maksimale të stack-ut për profilizimin;
- shtuar opsioni i kompilimit âenable-force-getenv pĂ«r tĂ« pĂ«rdorur 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 të threads.
- shtuar parametrin runtime calloc_madvise_threshold për të përcaktuar se a përdoret bërthama apo memset për të zeruar blloqet e memories të alokuara gjatë thirrjes calloc;
- shtuar opsioni i kompilimit âdisable-user-config pĂ«r tĂ« çaktivizuar leximin nĂ« kohĂ« reale tĂ« konfigurimeve nga dosja \/etc\/(malloc.conf) ose nga variabla ambienti MALLOC_CONF;
- shtuar parametrin 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 alokon blloqe të mëdha, dmth me madhësi >= 4 * PAGE;
- përfshirë përdorimin e process_madvise dhe shtuar parametrin runtime process_madvise_max_batch për menaxhimin e numrit maksimal të rajoneve të memories në secilën "grupe" madvise;
- shtuar ndërfaqet mallctl:
- opt.prof_bt_max;
- arena.<i>.name për të ndryshuar dhe marrë emrat e "arenave";
- thread.tcache.max për të ndryshuar dhe marrë tcache_max të thread-it aktual;
- thread.tcache.ncached_max.write dhe thread.tcache.ncached_max.read_sizeclass për të ndryshuar dhe marrë ncached_max të thread-it aktual;
- arenas.hugepage për të kthyer madhësinë e përdorur të hugepage, gjithashtu duke e eksportuar në statistikat e malloc;
- approximate_stats.active për të marrë një vlerë afërsisht të sasisë aktuale të bajtëve aktivë, e cila nuk duhen krahasuar me të dhëna të tjera statistikash.
- po ashtu janë rregulluar shumë gabime dhe përmirësuar dokumentacioni.
Burimi: linux.org.ru
