Microsoft-ek liburutegi bat ireki du MIT lizentziapean
Mimalloc-en funtsezko ezaugarria bere inplementazio trinkoa (3500 kode lerro baino gutxiago) eta errendimendu oso altua da. IN
Errendimendua ebaluatzeko, dauden multzo bat
Errendimendu handia doako zerrenda zatikatzearen bidez lortzen da batez ere. Zerrenda handi baten ordez, mimalloc-ek zerrenda txikiago batzuk erabiltzen ditu, eta horietako bakoitza memoria orri batera lotuta dago. Planteamendu honek zatiketa murrizten du eta memorian datuen lokalizazioa areagotzen du. Memoria orria antzeko tamainako bloke multzo multzo bat da. 64 biteko sistemetan, orriaren tamaina 64 KB izan ohi da. Orrialdean okupatutako blokerik geratzen ez bada, guztiz askatu eta memoria sistema eragilera itzultzen da, eta horrek memoria kostuak eta zatiketa murrizten ditu iraupen luzeko programetan.
Liburutegia lotura-fasean sar daiteke edo dagoeneko muntatutako programa baterako kargatu daiteke ("LD_PRELOAD=/usr/bin/libmimalloc.so myprogram"). Liburutegiak ere eskaintzen du
Liburutegia modu seguruan eraikitzea posible da, zeinetan memoria egiaztatzeko orrialde bereziak (guard-orrialdeak) blokeen mugetan ordezkatzen diren, eta blokeen banaketa aleatoria eta askatutako blokeen zerrenden enkriptatzea erabiltzen da. Neurri horiek heap-en oinarritutako buffer gainezkatzea ustiatzeko teknika ohikoenak blokeatzea ahalbidetzen dute. Modu segurua gaitzen duzunean, errendimendua gutxi gorabehera % 3 jaisten da.
Mimalloc-en ezaugarrien artean, zatiketa handiaren ondorioz puzketekin arazoak ez dituela ere nabarmentzen da. Egoerarik txarrenean, memoria-kontsumoa %0.2 handitzen da metadatuetarako eta %16.7ra irits daiteke memoria banaturako. Baliabideetara iristeko gatazkak saihesteko, mimalloc-ek eragiketa atomikoak soilik erabiltzen ditu.
Iturria: opennet.ru