مایکروسافټ د MIT جواز لاندې یو کتابتون پرانیست
د mimalloc کلیدي ځانګړتیا د دې کمپیکٹ پلي کول (د کوډ له 3500 څخه کم لینونه) او خورا لوړ فعالیت دی. IN
د فعالیت ارزولو لپاره، د موجوده یو سیټ
لوړ فعالیت په عمده توګه د وړیا لیست شارډینګ کارولو له لارې ترلاسه کیږي. د یو لوی لیست پرځای، mimalloc د کوچنیو لیستونو لړۍ کاروي، چې هر یو یې د حافظې پاڼې پورې تړلی دی. دا طریقه ټوټه ټوټه کموي او په حافظه کې د معلوماتو ځای زیاتوي. د حافظې پاڼه د ورته اندازې بلاکونو ډله ایز سیټ دی. په 64-bit سیسټمونو کې، د پاڼې اندازه عموما 64 KB ده. که چیرې په پاڼه کې هیڅ قبضه شوي بلاکونه پاتې نه وي، دا په بشپړه توګه آزادیږي او حافظه بیرته عملیاتي سیسټم ته راستانه کیږي، چې د اوږدې مودې پروګرامونو کې د حافظې لګښت او ټوټه ټوټه کموي.
کتابتون د لینک کولو په مرحله کې شامل کیدی شي یا د دمخه راټول شوي برنامې لپاره بار کیدی شي ("LD_PRELOAD=/usr/bin/libmimalloc.so myprogram"). کتابتون هم چمتو کوي
دا ممکنه ده چې کتابتون په خوندي حالت کې جوړ کړئ، په کوم کې چې د ځانګړي حافظې چک پاڼې (ساتونکي پاڼې) د بلاک په سرحدونو کې ځای پر ځای شوي، او د بلاک ویش تصادفي کول او د خلاص شوي بلاکونو لیستونو کوډ کول کارول کیږي. دا ډول اقدامات د دې امکان رامینځته کوي چې د ټوټو پراساس بفر اوور فلو استخراج لپاره ډیری عام تخنیکونه بند کړي. کله چې تاسو خوندي حالت فعال کړئ، فعالیت نږدې 3٪ کمیږي.
د mimalloc د ځانګړتیاوو په منځ کې، دا هم یادونه شوې چې دا د لوی ټوټې کولو له امله د پړسوب سره ستونزې ته حساس ندي. په بدترین حالت کې، د حافظې مصرف د میټاډاټا لپاره 0.2٪ زیاتیږي او د توزیع شوي حافظې لپاره 16.7٪ ته رسیدلی شي. سرچینو ته د لاسرسي په وخت کې د شخړو څخه مخنیوي لپاره ، mimalloc یوازې اټومي عملیات کاروي.
سرچینه: opennet.ru