Microsoft şirkəti MIT lisenziyası ilə kitabxana açıb
Mimalloc-un əsas xüsusiyyəti onun kompakt tətbiqi (3500 kod sətirindən az) və çox yüksək performansdır. IN
Performansı qiymətləndirmək üçün mövcud bir sıra
Yüksək performans əsasən pulsuz siyahı parçalanmasından istifadə etməklə əldə edilir. Bir böyük siyahı əvəzinə, mimalloc hər biri yaddaş səhifəsinə bağlanmış bir sıra kiçik siyahılardan istifadə edir. Bu yanaşma parçalanmanı azaldır və məlumatların yaddaşda yerləşməsini artırır. Yaddaş səhifəsi oxşar ölçülü blokların qruplaşdırılmış dəstidir. 64 bitlik sistemlərdə səhifə ölçüsü adətən 64 KB olur. Səhifədə heç bir işğal edilmiş blok qalmazsa, o, tamamilə boşaldılır və yaddaş əməliyyat sisteminə qaytarılır ki, bu da uzun müddət işləyən proqramlarda yaddaş xərclərini və parçalanmanı azaldır.
Kitabxana əlaqələndirmə mərhələsində daxil edilə bilər və ya artıq yığılmış proqram üçün yüklənə bilər (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Kitabxana da təmin edir
Kitabxananı təhlükəsiz rejimdə qurmaq mümkündür, burada blok sərhədlərində xüsusi yaddaş yoxlama səhifələri (qoruyucu səhifələr) əvəz olunur və blokların paylanmasının təsadüfiləşdirilməsi və azad edilmiş blokların siyahılarının şifrələnməsi istifadə olunur. Bu cür tədbirlər yığın əsaslı bufer daşqınlarını istismar etmək üçün ən ümumi üsulları bloklamağa imkan verir. Təhlükəsiz rejimi aktivləşdirdiyiniz zaman performans təxminən 3% azalır.
Mimallokun xüsusiyyətləri arasında böyük parçalanma səbəbindən şişkinlik problemlərinə həssas olmadığı da qeyd olunur. Ən pis ssenaridə yaddaş istehlakı metadata üçün 0.2% artır və paylanmış yaddaş üçün 16.7%-ə çata bilər. Resurslara daxil olan zaman münaqişələrin qarşısını almaq üçün mimalloc yalnız atom əməliyyatlarından istifadə edir.
Mənbə: opennet.ru