Ana Akış

mimalloc: Modern çağ için yeni, yüksek performanslı, ölçeklenebilir bir bellek ayırıcı

mimalloc: Modern çağ için yeni, yüksek performanslı, ölçeklenebilir bir bellek ayırıcı
mimalloc, modern, ölçeklenebilir bir bellek ayırıcıdır ve malloc ile free için bir doğrudan değiştirme çözümüdür. Göreceli olarak küçük (~12K satır), net iç veri yapıları ile birlikte gelir ve diğer projelere entegre edilmesi kolaydır. Sınırlı en kötü durum ayırma süreleri (işletim sistemi ilkelere kadar), sınırlı alan aşımı, düşük iç parçalanma ve neredeyse tamamen atomik işlemlere dayanarak minimal rekabet sunar. "mimalloc: Modern çağ için yeni, yüksek performanslı, ölçeklenebilir bir bellek ayırıcı" başlıklı yazı ilk olarak Microsoft Araştırma'da yayımlandı.
Üç beyaz çizgi simgesi—bir kod parantezleri ile monitör, iç içe geçmiş dişliler ve bir hız göstergesi—hafif dokulu bir desene sahip mor-mavi gradyan arka planda sergileniyor.

Kısaca

  • Günümüzdeki kritik hizmetler ve uygulamalar genellikle yüksek derecede eşzamanlıdır ve yüzlerce iş parçacığı kullanır. Ayrıca, büyük bellek ölçeklerinde, sıkça yüzlerce gigabayt, özellikle büyük dil modelleri kullanıldığında çalışırlar.
  • mimalloc, malloc ve free için bir drop-in yedek olarak modern, ölçeklenebilir bir bellek ayırıcıdır ve açık kaynaklıdır. Görece küçük (~12K satır), net iç veri yapıları ile kolayca inşa edilebilir ve diğer projelere entegre edilebilir. Sınırlı en kötü durum tahsis süreleri (OS ilkelere kadar), sınırlı alan üst yükü, düşük iç parçalanma ve neredeyse tamamen atomik işlemlere dayanarak minimal rekabet sağlar.
  • mimalloc, GitHub (yeni sekmede açılır)'da mevcuttur ve 12K'dan fazla yıldız almıştır.

mimalloc

Microsoft Araştırma (MSR) RiSE grubunda, formel yöntemler, programlama dilleri ve yazılım mühendisliği (emergent agentic sistemler dahil) üzerine temel araştırmalar yapıyoruz; özellikle kanıtlanabilir doğru, güvenli ve performanslı sistemlere odaklanıyoruz. mimalloc bellek ayırıcı, 2020 yılında, RiSE'de geliştirilen Lean ve Koka programlama dilleri için hızlı bir ayırıcı olarak tasarlanmıştır; her ikisi de yenilikçi derleyici rehberli referans sayımı kullanmaktadır (bkz. Perceus).

mimalloc'un ölçeklenebilir tasarımı, Microsoft'taki büyük hizmetler için son derece iyi çalıştığını kanıtlamıştır. Ürün ekipleri ile yakın işbirliği sayesinde, mimalloc Bing gibi hizmetlerde yanıt sürelerini önemli ölçüde iyileştirmiştir. Bugün, mimalloc hem Microsoft içinde hem de dışında büyük hizmetler ve uygulamalarda yaygın olarak kullanılmaktadır. NoGIL CPython 3.13+ için ayırıcı olarak hizmet vermekte, Unreal Engine'e entegre edilmekte ve Death Stranding gibi oyunlarda kullanılmaktadır.

Proje GitHub'da açık kaynaklıdır ve 12K'dan fazla yıldız almıştır. Rust sarmalayıcısı günde 100K'dan fazla indirme almaktadır.

mimalloc, Koka veya Lean gibi küçük ölçekli uygulamalardan, 500 GiB'yi aşan bellek ayak izlerine ve yüzlerce iş parçacığına sahip büyük hizmetlere kadar geniş bir senaryoda etkilidir.

Bu genişliğe rağmen, kod tabanı hala yaklaşık 12K satır C ile kompakt kalmaktadır. Araştırma kökenlerini yansıtan mimalloc, güçlü invariants ile net iç veri yapıları vurgular, bu da onu birçok endüstri ayırıcılarından daha kolay anlaşılır ve akıl yürütülür hale getir