Mae Microsoft wedi agor llyfrgell o dan y drwydded MIT
Nodwedd allweddol mimalloc yw ei weithrediad cryno (llai na 3500 o linellau cod) a pherfformiad uchel iawn. YN
I werthuso perfformiad, set o rai sy'n bodoli eisoes
Cyflawnir perfformiad uchel yn bennaf trwy ddefnyddio darnio rhestr am ddim. Yn lle un rhestr fawr, mae mimalloc yn defnyddio cyfres o restrau llai, pob un ohonynt wedi'u rhwymo i dudalen cof. Mae'r dull hwn yn lleihau darnio ac yn cynyddu lleoliad data yn y cof. Mae tudalen cof yn set wedi'i grwpio o flociau o faint tebyg. Ar systemau 64-bit, maint y dudalen fel arfer yw 64 KB. Os nad oes unrhyw flociau wedi'u meddiannu ar ôl yn y dudalen, caiff ei ryddhau'n llwyr a dychwelir y cof i'r system weithredu, sy'n lleihau costau cof a darnio mewn rhaglenni hirdymor.
Gellir cynnwys y llyfrgell yn y cam cysylltu neu ei llwytho ar gyfer rhaglen sydd eisoes wedi'i chydosod (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Mae'r llyfrgell hefyd yn darparu
Mae'n bosibl adeiladu'r llyfrgell mewn modd diogel, lle mae tudalennau gwirio cof arbennig (tudalennau gwarchod) yn cael eu disodli ar ffiniau'r blociau, a defnyddir hap-ddosbarthiad bloc ac amgryptio rhestrau o flociau wedi'u rhyddhau. Mae mesurau o'r fath yn ei gwneud hi'n bosibl rhwystro'r technegau mwyaf cyffredin ar gyfer manteisio ar orlifau byffer sy'n seiliedig ar domen. Pan fyddwch yn galluogi Modd Diogel, mae perfformiad yn gostwng tua 3%.
Ymhlith nodweddion mimalloc, nodir hefyd nad yw'n agored i broblemau gyda chwyddo oherwydd darniad mawr. Yn y senario waethaf, mae defnydd cof yn cynyddu 0.2% ar gyfer metadata a gall gyrraedd 16.7% ar gyfer cof dosbarthedig. Er mwyn osgoi gwrthdaro wrth gyrchu adnoddau, dim ond gweithrediadau atomig y mae mimalloc yn eu defnyddio.
Ffynhonnell: opennet.ru