Microsoft дар доираи иҷозатномаи MIT китобхона кушодааст
Хусусияти асосии mimalloc татбиқи паймон (камтар аз 3500 сатри код) ва иҷрои хеле баланд аст. ДАР
Барои арзёбии иҷроиш, маҷмӯи мавҷуда
Иҷрои баланд асосан тавассути истифодаи sharding рӯйхати ройгон ба даст оварда мешавад. Ба ҷои як рӯйхати калон, mimalloc як қатор рӯйхатҳои хурдтарро истифода мебарад, ки ҳар яки онҳо ба саҳифаи хотира вобаста аст. Ин равиш тақсимотро коҳиш медиҳад ва ҷойгиршавии маълумотро дар хотира зиёд мекунад. Саҳифаи хотира маҷмӯи гурӯҳбандии блокҳои андозаи якхела мебошад. Дар системаҳои 64-бит, андозаи саҳифа одатан 64 KB аст. Агар дар саҳифа блокҳои ишғолшуда боқӣ намонанд, он пурра озод карда мешавад ва хотира ба системаи оператсионӣ бармегардад, ки ин хароҷоти хотира ва пора-пораҳоро дар барномаҳои дарозмуддат кам мекунад.
Китобхона метавонад дар марҳилаи пайвастшавӣ дохил карда шавад ё барои барномаи аллакай ҷамъшуда бор карда шавад (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Китобхона низ таъмин мекунад
Китобхонаро дар реҷаи бехатар сохтан мумкин аст, ки дар он саҳифаҳои махсуси санҷиши хотира (муҳофизат-саҳифаҳо) дар сарҳади блокҳо иваз карда мешаванд ва тасодуфии тақсимоти блокҳо ва рамзгузории рӯйхати блокҳои озодшуда истифода мешаванд. Чунин чораҳо имкон медиҳанд, ки усулҳои маъмултарин барои истифодабарии обхезиҳои буферӣ дар асоси теппа баста шаванд. Вақте ки шумо Реҷаи бехатарро фаъол мекунед, иҷроиш тақрибан 3% коҳиш меёбад.
Дар байни хусусиятҳои mimalloc, инчунин қайд карда мешавад, ки он аз сабаби тақсимоти калон ба мушкилот бо варамкунӣ осебпазир нест. Дар сенарияи бадтарин, истеъмоли хотира барои метамаълумот 0.2% зиёд мешавад ва барои хотираи тақсимшуда метавонад ба 16.7% мерасад. Барои пешгирӣ кардани низоъҳо ҳангоми дастрасӣ ба захираҳо, mimalloc танҳо амалиёти атомиро истифода мебарад.
Манбаъ: opennet.ru