microsoft/mimalloc - 고성능 범용 메모리 할당자
요약
Microsoft의 mimalloc는 기존 malloc을 코드 수정 없이 교체할 수 있는 고성능 범용 메모리 할당자입니다. jemalloc 및 tcmalloc 대비 뛰어난 속도와 낮은 메모리 사용량을 자랑하며, 다양한 OS와 워크로드에서 안정적인 성능을 제공합니다.
핵심 포인트
- 기존 코드 수정 없이 드롭인 교체 가능
- tcmalloc 및 jemalloc 대비 우수한 성능
- 멀티스레드 환경에서 락 경합 최소화
- 다양한 OS 및 WASM 지원
- 약 10k LOC의 단순한 구조로 이식 용이
malloc을 드롭인 교체 가능한 범용 할당자로, 코드 수정 없이 기존 프로그램에 적용 가능jemalloc, tcmalloc보다 빠르면서 메모리도 덜 씀: tcmalloc 대비 13%, jemalloc 대비 2.5배 이상 빠름- 특정 벤치마크 1등이 아니라,
어떤 워크로드든 꾸준히 상위권을 차지함
-
특정 벤치마크 1등이 아니라,
약 10k LOC의 단순한 자료구조로 통합/이식이 쉬우며, 동시에 수천 대 규모 분산 서비스에서 운용 가능한 수준- Windows, macOS, Linux, WASM, 다양한 BSD, Haiku, MUSL 등 다수 OS에 이식됨
멀티스레드에서 락 경합 걱정 제로- 페이지마다 thread-local free 리스트와 concurrent free 리스트를 분리 -
다른 스레드가 메모리 해제해도
단일 CAS 한 번이면 끝나며, 복잡한 동기화 코드 필요 없음 -
C로 작성. MIT 라이선스
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기