microsoft/mimalloc - ตัวจัดสรรหน่วยความจำอเนกประสงค์ประสิทธิภาพสูง
(github.com/microsoft)- ตัวจัดสรรอเนกประสงค์ที่ใช้แทน
mallocได้แบบ drop-in จึงนำไปใช้กับโปรแกรมเดิมได้โดยไม่ต้องแก้โค้ด - เร็วกว่า jemalloc และ tcmalloc พร้อมใช้หน่วยความจำน้อยกว่า : เร็วกว่า tcmalloc 13% และเร็วกว่า jemalloc มากกว่า 2.5 เท่า
- ไม่ใช่แค่ได้อันดับ 1 ในบางเบนช์มาร์ก แต่ยัง ทำผลงานได้ดีติดกลุ่มบนอย่างสม่ำเสมอในทุกเวิร์กโหลด
- ใช้ โครงสร้างข้อมูลที่เรียบง่ายราว 10k LOC ทำให้รวมเข้าระบบ/พอร์ตได้ง่าย และในขณะเดียวกันก็รองรับการใช้งานระดับบริการแบบกระจายที่มีขนาดหลายพันเครื่อง
- พอร์ตไปยังหลายระบบปฏิบัติการแล้ว เช่น Windows, macOS, Linux, WASM, BSD หลายตระกูล, Haiku, MUSL เป็นต้น
- ไม่ต้องกังวลเรื่อง lock contention ในงานแบบมัลติเธรด
- ในแต่ละเพจแยก thread-local free list และ concurrent free list ออกจากกัน
- แม้เธรดอื่นจะคืนหน่วยความจำ ก็จบได้ด้วย CAS เพียงครั้งเดียว โดยไม่ต้องมีโค้ดซิงโครไนซ์ที่ซับซ้อน
- เขียนด้วย C. สัญญาอนุญาต MIT
ยังไม่มีความคิดเห็น