Microsoft MIT لائسنس تحت هڪ لائبريري کوليو آهي
mimalloc جي اھم خصوصيت آھي ان جي ٺھيل عمل درآمد (ڪوڊ جي 3500 لائنن کان گھٽ) ۽ تمام اعلي ڪارڪردگي. IN
ڪارڪردگي جو جائزو وٺڻ لاء، موجوده جو هڪ سيٽ
اعلي ڪارڪردگي خاص طور تي مفت لسٽ شارڊنگ جي استعمال ذريعي حاصل ڪئي وئي آهي. ھڪڙي وڏي لسٽ جي بدران، mimalloc ننڍين لسٽن جو ھڪڙو سلسلو استعمال ڪري ٿو، جن مان ھر ھڪ ياداشت واري صفحي تي پابند آھي. اهو طريقو ٽڪنڊي کي گھٽائي ٿو ۽ ميموري ۾ ڊيٽا جي جڳهه کي وڌائي ٿو. هڪ ميموري صفحو ساڳيو سائيز جي بلاڪن جو هڪ گروپ ٿيل سيٽ آهي. 64-bit سسٽم تي، صفحي جي سائيز عام طور تي 64 KB آهي. جيڪڏهن صفحي ۾ ڪو به قبضو ٿيل بلاڪ نه رهجي ويو آهي، اهو مڪمل طور تي آزاد ٿي ويندو آهي ۽ ميموري آپريٽنگ سسٽم ڏانهن موٽائي ويندي آهي، جيڪو ڊگهي هلندڙ پروگرامن ۾ ميموري جي قيمت ۽ تقسيم کي گھٽائي ٿو.
لائبريري کي ڳنڍڻ واري مرحلي ۾ شامل ڪري سگھجي ٿو يا اڳ ۾ ئي گڏ ٿيل پروگرام لاءِ لوڊ ڪري سگھجي ٿو (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). لائبريري پڻ مهيا ڪري ٿي
لائبريري کي محفوظ موڊ ۾ تعمير ڪرڻ ممڪن آهي، جنهن ۾ خاص ميموري چيڪ صفحا (گارڊ-پيجز) بلاڪ جي حدن تي رکيا ويندا آهن، ۽ بلاڪ ورهائڻ جي بي ترتيب ڪرڻ ۽ آزاد ٿيل بلاڪن جي فهرستن جي انڪرپشن کي استعمال ڪيو ويندو آهي. اهڙن قدمن کي ممڪن بڻائي ٿو ته هيپ تي ٻڌل بفر اوور فلوز جي استحصال لاءِ اڪثر عام ٽيڪنالاجي کي بلاڪ ڪرڻ. جڏهن توهان محفوظ موڊ کي فعال ڪريو ٿا، ڪارڪردگي تقريبا 3٪ گهٽجي ٿي.
mimalloc جي خاصيتن مان، اهو پڻ نوٽ ڪيو ويو آهي ته اهو وڏي ٽڪراء جي ڪري bloating سان مسئلن لاء حساس ناهي. بدترين صورت حال ۾، ميٽاداٽا لاء ميموري جو استعمال 0.2٪ وڌائي ٿو ۽ ورهايل ياداشت لاء 16.7٪ تائين پهچي سگھي ٿو. وسيلن تائين رسائي حاصل ڪرڻ دوران تڪرار کان بچڻ لاء، mimalloc صرف ايٽمي آپريشن استعمال ڪندو آهي.
جو ذريعو: opennet.ru