Майкрософт MIT лицензийн дагуу номын сан нээлээ
Mimalloc-ийн гол онцлог нь түүний авсаархан хэрэгжилт (3500-аас бага мөр код) ба маш өндөр гүйцэтгэл юм. IN
Гүйцэтгэлийг үнэлэхийн тулд одоо байгаа багц
Үнэгүй жагсаалтын хуваалтыг ашиглах замаар өндөр гүйцэтгэлд хүрдэг. Нэг том жагсаалтын оронд mimalloc нь санах ойн хуудастай холбогдсон хэд хэдэн жижиг жагсаалтыг ашигладаг. Энэ арга нь хуваагдлыг багасгаж, санах ой дахь өгөгдлийн байршлыг нэмэгдүүлдэг. Санах ойн хуудас нь ижил хэмжээтэй блокуудын бүлэглэсэн багц юм. 64 битийн систем дээр хуудасны хэмжээ ихэвчлэн 64 KB байдаг. Хэрэв хуудсанд эзлэгдсэн блок байхгүй бол түүнийг бүрэн чөлөөлж, санах ойг үйлдлийн систем рүү буцаадаг бөгөөд энэ нь санах ойн зардал, урт хугацааны программуудын хуваагдлыг бууруулдаг.
Номын санг холбох шатанд оруулах эсвэл аль хэдийн угсарсан программд ачаалах боломжтой (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Номын сан нь бас өгдөг
Номын санг аюулгүй горимд барьж байгуулах боломжтой бөгөөд үүнд санах ойг шалгах тусгай хуудсууд (хамгаалагч хуудас) блокийн хил дээр орлуулж, блок хуваарилалтын санамсаргүй байдал, чөлөөлөгдсөн блокуудын жагсаалтыг шифрлэх аргыг ашигладаг. Ийм арга хэмжээ нь овоолго дээр суурилсан буферийн халилтыг ашиглах хамгийн түгээмэл аргуудыг хаах боломжийг олгодог. Аюулгүй горимыг идэвхжүүлснээр гүйцэтгэл нь ойролцоогоор 3% буурдаг.
Mimalloc-ийн онцлог шинж чанаруудын дунд энэ нь их хэмжээний хуваагдлаас болж гэдэс дүүрэх асуудалд өртөмтгий биш гэдгийг тэмдэглэжээ. Хамгийн муу хувилбарт санах ойн хэрэглээ мета өгөгдлийн хувьд 0.2% -иар нэмэгдэж, тархсан санах ойн хувьд 16.7% хүрч болно. Нөөцөд хандах үед зөрчилдөөнөөс зайлсхийхийн тулд mimalloc нь зөвхөн атомын үйлдлүүдийг ашигладаг.
Эх сурвалж: opennet.ru