Microsoft je odprl knjižnico pod licenco MIT
Ključna značilnost mimalloca je njegova kompaktna implementacija (manj kot 3500 vrstic kode) in zelo visoka zmogljivost. IN
Za ovrednotenje uspešnosti nabor obstoječih
Visoka zmogljivost je dosežena predvsem z uporabo brezplačnega razdeljevanja seznamov. Namesto enega velikega seznama mimalloc uporablja niz manjših seznamov, od katerih je vsak vezan na pomnilniško stran. Ta pristop zmanjša razdrobljenost in poveča lokalnost podatkov v pomnilniku. Pomnilniška stran je združen niz blokov podobne velikosti. V 64-bitnih sistemih je velikost strani običajno 64 KB. Če na strani ni več zasedenih blokov, se le-ta popolnoma sprosti in pomnilnik se vrne operacijskemu sistemu, kar zmanjša stroške pomnilnika in razdrobljenost pri dolgo delujočih programih.
Knjižnico je mogoče vključiti v fazi povezovanja ali naložiti za že sestavljen program (»LD_PRELOAD=/usr/bin/libmimalloc.so myprogram«). Knjižnica nudi tudi
Knjižnico je možno zgraditi v varnem načinu, v katerem se na mejah blokov zamenjajo posebne strani za preverjanje pomnilnika (guard-pages), uporablja pa se randomizacija porazdelitve blokov in šifriranje seznamov sproščenih blokov. Takšni ukrepi omogočajo blokiranje najpogostejših tehnik za izkoriščanje prekoračitev medpomnilnika na osnovi kopice. Ko omogočite varni način, se zmogljivost zmanjša za približno 3 %.
Med značilnostmi mimalloka je tudi opozoriti, da ni dovzeten za težave z napihnjenostjo zaradi velike razdrobljenosti. V najslabšem primeru se poraba pomnilnika poveča za 0.2 % za metapodatke in lahko doseže 16.7 % za porazdeljeni pomnilnik. Da bi se izognili konfliktom pri dostopanju do virov, mimalloc uporablja samo atomske operacije.
Vir: opennet.ru