Microsoft wis mbukak perpustakaan miturut lisensi MIT
Fitur utama mimalloc yaiku implementasine sing kompak (kurang saka 3500 baris kode) lan kinerja sing dhuwur banget. ING
Kanggo ngevaluasi kinerja, pesawat saka ana
Kinerja dhuwur digayuh utamane kanthi nggunakake sharding dhaptar gratis. Tinimbang siji dhaftar gedhe, mimalloc nggunakake seri saka dhaptar cilik, saben kang kaiket menyang kaca memori. Pendekatan iki nyuda fragmentasi lan nambah lokalitas data ing memori. Kaca memori minangka kumpulan blok sing ukurane padha. Ing sistem 64-bit, ukuran kaca biasane 64 KB. Yen ora ana pamblokiran dikuwasani kiwa ing kaca, iku rampung dibebaske lan memori bali menyang sistem operasi, kang nyuda biaya memori lan fragmentasi ing program long-mlaku.
Pustaka bisa kalebu ing tataran linking utawa dimuat kanggo program wis nglumpuk ("LD_PRELOAD=/usr/bin/libmimalloc.so myprogram"). Perpustakaan uga nyedhiyakake
Sampeyan bisa kanggo mbangun perpustakaan ing mode aman, kang memori khusus mriksa kaca (jaga-kaca) diganti ing wates pemblokiran, lan randomization distribusi pemblokiran lan enkripsi dhaptar pamblokiran dibebaske digunakake. Langkah-langkah kasebut ngidini kanggo mblokir teknik sing paling umum kanggo ngeksploitasi kebanjiran buffer adhedhasar tumpukan. Yen sampeyan ngaktifake Mode Aman, kinerja mudhun kira-kira 3%.
Antarane fitur mimalloc, uga dicathet yen ora rentan kanggo masalah kembung amarga fragmentasi gedhe. Ing skenario paling awon, konsumsi memori mundhak 0.2% kanggo metadata lan bisa tekan 16.7% kanggo memori sing disebarake. Kanggo ngindhari konflik nalika ngakses sumber daya, mimalloc mung nggunakake operasi atom.
Source: opennet.ru