Kua whakatuwheratia e Microsoft te waehere mo te punaha tohatoha mahara mimalloc

Kua whakatuwheratia e Microsoft he whare pukapuka i raro i te raihana MIT mmalloc mai i te whakatinanatanga o te punaha toha mahara i hanga tuatahi mo nga wahanga wa whakahaere o nga reo Koka и Tae. Ko te Mimalloc te whakarereke mo te whakamahi i nga tono paerewa me te kore e whakarereke i o raatau waehere ka taea te mahi hei whakakapi marama mo te mahi malloc. Ka tautokohia nga mahi i runga i te Matapihi, macOS, Linux, BSD me etahi atu punaha rite-unix.

Ko te ahuatanga matua o te mimalloc ko tana whakatinanatanga kiato (iti iho i te 3500 rarangi o te waehere) me te tino mahi. IN nga whakamatautau i mahia i pai ake a mimalloc i nga whare pukapuka tohatoha mahara whakataetae katoa, tae atu ki jemalloc, tcmalloc, snmalloc, rpmalloc и Pupuri.

Ki te arotake i te mahi, he huinga o naianei nga whakamatautau paerewa I etahi whakamatautau, he maha nga wa tere ake te mimalloc i era atu punaha; hei tauira, i te whakamatautau mo te hekenga ahanoa i waenga i nga miro rereke, ka huri te mimalloc ki te neke atu i te 2.5 nga wa tere atu i te tcmalloc me te jemalloc. I te wa ano, i roto i te nuinga o nga whakamatautau, ka kitea ano te iti o te kohi mahara; i etahi ahuatanga, ka taea te whakaiti i te kai mahara ki te 25%.

Kua whakatuwheratia e Microsoft te waehere mo te punaha tohatoha mahara mimalloc

Ko nga mahi teitei ka tutuki i te nuinga ma te whakamahi i nga rarangi raarangi koreutu. Engari i te rarangi nui kotahi, ka whakamahia e te mimalloc he raupapa rarangi iti ake, ka herea ia rarangi ki tetahi wharangi mahara. Ko tenei huarahi ka whakaiti i te wehewehenga me te whakanui i te waahi raraunga i roto i te mahara. Ko te wharangi mahara he huinga poraka kua rite te rahi. I runga i nga punaha 64-bit, ko te rahi o te whaarangi ko te 64 KB. Mena karekau he poraka e nohoia ana i te wharangi, ka tino wetekina, ka whakahokia te mahara ki te punaha whakahaere, ka whakaiti i nga utu mahara me te wehewehenga i roto i nga kaupapa kua roa.

Ka taea te whakauru i te whare pukapuka ki te waahi hono, ka utaina ranei mo tetahi kaupapa kua oti kee te whakauru (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Ka whakarato hoki te whare pukapuka API mo te whakauru i nga mahi ki roto i te waa whakahaere me te whakahaere whanonga pai, hei tauira, mo te hono i nga kaikawe tuku mahara mangere me te whakanui i nga porotiti tohutoro. Ka taea te hanga me te whakamahi i etahi "puranga" i roto i te tono mo te tohatoha puta noa i nga waahi mahara. Ka taea hoki te wetewete i te puranga katoa, me te kore e haere me te wehe wehe i nga taonga kua whakanohoia ki roto.

Ka taea te hanga i te whare pukapuka i roto i te aratau haumaru, ka whakakapihia nga wharangi tirotiro mahara motuhake (kaitiaki-wharangi) ki nga rohe poraka, ka whakamahia te matapōkeretia o te tohatoha poraka me te whakamunatanga o nga rarangi o nga poraka kua wetekina. Ko enei tikanga ka taea te aukati i te nuinga o nga tikanga mo te whakamahi i nga putunga putunga putunga. Ina whakahohea e koe te Aratau Haumaru, ka heke te mahinga ma te 3%.

I roto i nga ahuatanga o te mimalloc, ka tuhia ano hoki kaore e pa ki nga raruraru me te pupuhi na te nui o te wehenga. I roto i te ahuatanga kino rawa atu, ka piki ake te kohi mahara ma te 0.2% mo te metadata ka tae ki te 16.7% mo te mahara kua tohatohahia. Hei karo i nga raruraru i te wa e uru ana ki nga rauemi, ka whakamahia e te mimalloc nga mahi ngota anake.

Source: opennet.ru

Tāpiri i te kōrero