Microsoft on avanud raamatukogu MIT-i litsentsi alusel
Mimalloci põhiomadus on selle kompaktne teostus (alla 3500 koodirea) ja väga kõrge jõudlus. IN
Toimivuse hindamiseks olemasolevate kogum
Kõrge jõudlus saavutatakse peamiselt tasuta loendi jagamise abil. Ühe suure loendi asemel kasutab mimalloc väiksemaid loendeid, millest igaüks on seotud mälulehega. See lähenemisviis vähendab killustatust ja suurendab andmete asukohta mälus. Mäluleht on sarnase suurusega plokkide rühmitatud komplekt. 64-bitistes süsteemides on lehe suurus tavaliselt 64 KB. Kui lehele pole jäänud ühtegi hõivatud plokki, vabastatakse see täielikult ja mälu tagastatakse operatsioonisüsteemile, mis vähendab mälukulusid ja killustatust kauakestvates programmides.
Teeki saab kaasata linkimise etapis või laadida juba kokkupandud programmi jaoks (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Raamatukogu pakub ka
Teek on võimalik ehitada turvarežiimis, kus plokkide piiridel asendatakse spetsiaalsed mälukontrolli lehed (kaitselehed) ning kasutatakse plokkide jaotuse randomiseerimist ja vabastatud plokkide nimekirjade krüptimist. Sellised meetmed võimaldavad blokeerida enamlevinud tehnikad kuhjapõhise puhvri ületäitumise ärakasutamiseks. Kui lubate turvarežiimi, väheneb jõudlus umbes 3%.
Mimalloci omaduste hulgas märgitakse ka seda, et see ei ole suure killustumise tõttu vastuvõtlik puhitusprobleemidele. Halvima stsenaariumi korral suureneb mälutarbimine metaandmete puhul 0.2% ja hajutatud mälu puhul võib see ulatuda 16.7%. Vältimaks konflikte ressurssidele juurdepääsul, kasutab mimalloc ainult tuumaoperatsioone.
Allikas: opennet.ru