Ma hope o ka hoʻomaha ʻana o kahi kokoke i ʻehā mau makahiki (e nānā i "jemalloc nā mea āpau») ua hoʻokuʻu ʻia ka 5.3.1 o ka mea hoʻokaʻawale jemalloc - kahi hoʻokō o malloc(3) e hoʻoikaika ana i ka pale ʻana i ka fragmentation a me ke kākoʻo no ka scalable concurrency.
ʻO ka hoʻokuʻu hou ʻana e komo pū ana ma mua o 390 mau hana me nā hoʻoponopono bug, nā hiʻohiʻona hou, nā hoʻonui hana, a me nā hoʻomaikaʻi ʻana i ka lawe lima ʻana.
Ua kākau ʻia ka papahana ma C a ua hoʻolaha ʻia ma lalo o ka laikini BSD.
Nā manawa hou:
- kākoʻo pvalloc(3).
- ua ʻike ʻia ka manuahi pālua i ke kūkulu debug;
- Ua hoʻohui ʻia ke koho compile --enable-pageid e hiki ai i ka annotation i hoʻopaʻa ʻia i ka hoʻomanaʻo.
- Ua hoʻohui ʻia ka palena runtime prof_bt_max e kāohi i ka hohonu stack kiʻekiʻe loa no ka profiling;
- Ua hoʻohui ʻia ke koho hōʻuluʻulu --enable-force-getenv e hoʻohana i ka getenv ma kahi o secure_getenv;
- Ua hoʻohui ʻia ke koho compile --disable-dss e hoʻopau i ka hoʻohana ʻana o sbrk(2);
- Ua hoʻohui ʻia ke koho hōʻuluʻulu ʻo tcache_ncached_max e kāohi i ka helu o nā mea i loko o ka cache thread.
- Ua hoʻohui ʻia ka palena runtime calloc_madvise_threshold e hoʻoholo ai inā hoʻohana ʻia ka kernel a i ʻole memset e hoʻopau i nā poloka hoʻomanaʻo i hoʻokaʻawale ʻia i ke kāhea ʻana iā calloc;
- Ua hoʻohui ʻia ke koho --disable-user-config compile-time e hoʻopau i ka heluhelu ʻana o nā hoʻonohonoho mai ka faila /etc/malloc.conf a i ʻole mai ka loli kaiapuni MALLOC_CONF i ka wā holo.
- Ua hoʻohui ʻia ka palena runtime disable_large_size_classes e hiki ai i ka algorithm helu nui hou i loaʻa, kahi e hoʻemi ai i ke poʻo hoʻomanaʻo i ka wā e hāʻawi ana i nā poloka hoʻomanaʻo nui, i.e. me ka nui >= 4 * PAGE;
- Ua hoʻāla i ka hoʻohana ʻana o process_madvise a hoʻohui i ka palena runtime process_madvise_max_batch e kāohi i ka helu nui o nā ʻāpana hoʻomanaʻo i kēlā me kēia "batch" madvise;
- ua hoʻohui ʻia nā interfaces mallctl:
- opt.prof_bt_max;
- arena.
- thread.tcache.max e hoʻololi a loaʻa i ka tcache_max o ke kaula o kēia manawa;
- thread.tcache.ncached_max.write a me thread.tcache.ncached_max.read_sizeclass e hoʻololi a loaʻa i ka ncached_max o ke kaula o kēia manawa;
- arenas.hugepage e hoʻihoʻi i ka nui hugepage i hoʻohana ʻia, i lawe ʻia aku hoʻi i nā stats malloc;
- approximate_stats.active e kiʻi i kahi waiwai kokoke o ka nui o nā byte hana o kēia manawa, ʻaʻole pono e hoʻohālikelike ʻia me nā helu helu ʻē aʻe i kiʻi ʻia.
- Ua hoʻoponopono ʻia kekahi mau hewa a ua hoʻomaikaʻi ʻia nā palapala.
Source: linux.org.ru
