Ua tatalaina e Microsoft le code mo le mimalloc memory allocation system

Ua tatalaina e Microsoft se faletusi i lalo o le laisene MIT mmalloc mai le fa'atinoina o se faiga fa'asoa manatua na fa'avaeina mo vaega ta'i taimi o gagana Koka и Lean. O le Mimalloc e fa'aogaina mo le fa'aoga i fa'aoga masani e aunoa ma le suia o latou code ma e mafai ona avea o se sui manino mo le galuega malloc. Lagolago galuega i luga o Windows, macOS, Linux, BSD ma isi faiga e pei o Unix.

O le uiga autu o le mimalloc o lona faʻatinoga faʻapitoa (itiiti ifo i le 3500 laina o le code) ma le maualuga o le faʻatinoga. IN faia suega mimalloc e sili atu nai lo faletusi fa'asoa manatua uma, e aofia ai jemalloc, tcmalloc, snmalloc, rpmalloc и Faʻatau.

Ina ia iloilo le faatinoga, se seti o loʻo iai suega masani I nisi o suʻega, o le mimalloc e tele taimi e vave ai nai lo isi faiga; mo se faʻataʻitaʻiga, i le suʻega o le femalagaiga o mea i le va o filo eseese, o le mimalloc na sili atu i le 2.5 taimi sili atu nai lo le tcmalloc ma le jemalloc. I le taimi lava e tasi, i le tele o suʻega, o loʻo maitauina foi le faʻaitiitia o le mafaufau, i nisi tulaga, e mafai ona faʻaitiitia le faʻaaogaina o mafaufauga e 25%.

Ua tatalaina e Microsoft le code mo le mimalloc memory allocation system

Ole fa'atinoga maualuga e maua ile fa'aogaina ole fa'avasegaina ole lisi fua. Nai lo le tasi le lisi tele, o le mimalloc e fa'aaogaina se faasologa o lisi laiti, o ia mea ta'itasi e fusia i se itulau manatua. O lenei faiga e faʻaitiitia ai le vaeluaga ma faʻateleina faʻamaumauga nofoaga i le manatua. O le itulau manatua o se seti o poloka fa'atasi e tutusa le lapopoa. I luga o faiga 64-bit, o le tele o itulau e masani lava 64 KB. Afai e leai ni poloka nofoia o loʻo totoe i le itulau, e faʻasaʻoloto atoatoa ma toe faʻafoʻi le mafaufau i le faiga faʻaogaina, lea e faʻaitiitia ai le tau manatua ma le vaevaega i polokalame umi.

O le faletusi e mafai ona faʻapipiʻi i le tulaga fesoʻotaʻiga pe utaina mo se polokalama ua uma ona faʻapipiʻiina ("LD_PRELOAD=/usr/bin/libmimalloc.so myprogram"). E maua foi e le faletusi API mo le tu'ufa'atasia o galuega fa'atino i le ta'avale ma le pulea lelei o amioga, mo se fa'ata'ita'iga, mo le fa'afeso'ota'iina o tagata e fa'amatu'u manatua paie ma fa'ateleina fa'atatau fa'atatau. E mafai ona fai ma fa'aoga le tele o "fa'aputuga" i totonu o se talosaga mo le tufatufaina atu i vaega eseese e manatua ai. E mafai fo'i ona fa'asa'oloto atoa le fa'aputuga, e aunoa ma le uia ma fa'asa'oloto tu'uese'ese mea o lo'o tu'uina i totonu.

E mafai ona fausia le faletusi i se tulaga saogalemu, lea e suitulaga ai itulau siaki manatua faapitoa (puipui-itulau) i tuaoi poloka, ma randomization o le tufatufaina atu o poloka ma faʻailoga o lisi o poloka faʻasaʻoloto e faʻaaogaina. O ia faiga e mafai ai ona poloka auala sili ona taatele mo le faʻaogaina o faʻaputuga faʻavae faʻapipiʻi faʻafefe. A e fa'aogaina le Safe Mode, e fa'aitiitia le fa'atinoga e tusa ma le 3%.

Faatasi ai ma foliga o le mimalloc, o loʻo maitauina foi e le mafai ona aʻafia i faʻafitauli i le fulafula ona o le tele o vaevaega. I le tulaga sili ona leaga, o le faʻaaogaina o mafaufauga e faʻateleina i le 0.2% mo metadata ma e mafai ona oʻo atu i le 16.7% mo le tufatufaina o manatua. Ina ia aloese mai feteʻenaʻiga pe a maua punaoa, e faʻaaogaina e mimalloc naʻo gaioiga atomic.

puna: opennet.ru

Faaopoopo i ai se faamatalaga