Microsoft codicem aperuit pro destinatio systematis memoriae mimalloc

Microsoft bibliothecam aperuit sub licentia MIT mmalloc de inserendorum destinatio memoriae ratio primum creata ad partes linguarum runtime Koka ΠΈ inniti. Mimalloc usui accommodatus est in applicationibus vexillum sine codice mutato et agere potest ut perspicuum substitutum ad munus malloc. Sustinet opera in Fenestra, macOS, Linux, BSD et alia systemata Unix-simile.

Clavis lineamenta mimalloc est exsecutio eius compactionis (minus quam 3500 lineae codicis) et altissima effectio. IN' probat fieri mimalloc outperformed all alllocation .. jemalloc, tcmalloc, snmalloc, rpmalloc ΠΈ thesaurizant,.

Ad aestimare perficientur, a paro of existentium vexillum probat In nonnullis probatis, mimalloc multoties velocior est quam alia systemata, exempli gratia, in probatione migrationis obiecti inter varia fila, mimalloc evenit ut plus quam 2.5 vicibus velocius quam tcmalloc et jemalloc. Eodem tempore, ut in plerisque experimentis, observatur etiam memoria inferior consumptio: in aliquibus adiunctis, memoria tabes minui potest per 25%.

Microsoft codicem aperuit pro destinatio systematis memoriae mimalloc

Princeps effectus fit maxime per usum gratuiti indicem sharding. Loco uno magno indice mimalloc utitur in serie minorum tabularum, quarum quaelibet pagina memoriae tenetur. Hic aditus ruptionem minuit et notitias locorum in memoriam auget. Pagina memoriae est copia caudices similium magnitudinis. In systematis 64-bit, magnitudo paginae typice est 64 KB. Si nullae occupationes in pagina relictae sunt, omnino liberatur et memoria redditur rationi operativae, quae memoriam gratuita et fragmentatio in diuturna programmata minuit.

Bibliothecam includi potest in scenis conjunctionis vel pro programmate iam congregato ("LD_PRELOAD=/usr/bin/libmimalloc.so myprogram"). Bibliotheca etiam praebet API ad functionem integrationem in runtime ac subtilibus moribus moderatum, exempli gratia, ad memoriam remissam connectendi tractatores et monotonice calculis crescentibus referentes. Possibile est plures "aggeres" creare et uti in applicatione ad distribuendum per diversas regiones memoriae. Licebit etiam liberare acervum totum, quin pertranseat et seorsim liberando objecta in eo posita.

Possibile est bibliothecam in modo tuto aedificare, in quo speciales memoriae paginae (custodes-pages) in clausulis limitibus substituuntur, et randomization distributionum interclusionum et encryptiones tabularum liberatorum caudices adhibentur. Tales mensuras efficiunt ut artes communissimas claudant ad acervum innixum quiddam redundat opprimendi. Cum Modum Tutum efficis, effectus per 3% circiter decrescit.

Inter liniamenta mimalloc etiam notatur non suscipit difficultates cum bloating ob magnas ruptiones. In pessimo casu missionis, consumptio memoria crescit 0.2% ad metadata et ad 16.7% ad memoriam distribuendam pervenire potest. Ad conflictationes vitandas cum accessu facultatum, mimalloc utitur sola operationibus atomicis.

Source: opennet.ru