Microsoft imefungua maktaba chini ya leseni ya MIT
Kipengele muhimu cha mimalloc ni utekelezaji wake wa compact (chini ya mistari 3500 ya kanuni) na utendaji wa juu sana. KATIKA
Ili kutathmini utendaji, seti ya zilizopo
Utendaji wa juu unapatikana hasa kupitia matumizi ya kugawanya orodha ya bure. Badala ya orodha moja kubwa, mimalloc hutumia mfululizo wa orodha ndogo, ambayo kila moja inahusishwa na ukurasa wa kumbukumbu. Mbinu hii inapunguza mgawanyiko na huongeza eneo la data katika kumbukumbu. Ukurasa wa kumbukumbu ni seti iliyojumuishwa ya vizuizi vya ukubwa sawa. Kwenye mifumo ya 64-bit, saizi ya ukurasa kawaida ni 64 KB. Ikiwa hakuna vitalu vilivyochukuliwa vilivyobaki kwenye ukurasa, ni huru kabisa na kumbukumbu inarudi kwenye mfumo wa uendeshaji, ambayo inapunguza gharama za kumbukumbu na kugawanyika katika programu za muda mrefu.
Maktaba inaweza kujumuishwa katika hatua ya kuunganisha au kupakiwa kwa programu iliyokusanywa tayari (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Maktaba pia hutoa
Inawezekana kujenga maktaba katika hali salama, ambayo kurasa maalum za kuangalia kumbukumbu (kurasa za walinzi) hubadilishwa kwenye mipaka ya kuzuia, na randomization ya usambazaji wa kuzuia na usimbuaji wa orodha ya vitalu vilivyoachiliwa hutumiwa. Hatua kama hizo hufanya iwezekane kuzuia mbinu za kawaida za kutumia utiririshaji wa bafa kulingana na lundo. Unapowasha Hali Salama, utendakazi hupungua kwa takriban 3%.
Miongoni mwa vipengele vya mimalloc, pia imebainisha kuwa haipatikani na matatizo na bloating kutokana na kugawanyika kubwa. Katika hali mbaya zaidi, matumizi ya kumbukumbu huongezeka kwa 0.2% kwa metadata na inaweza kufikia 16.7% kwa kumbukumbu iliyosambazwa. Ili kuepuka migogoro wakati wa kufikia rasilimali, mimalloc hutumia shughuli za atomiki pekee.
Chanzo: opennet.ru