위키득계정 ↗
기술

rpmalloc

rpmalloc기술
구현 언어
C
주요 설계
스레드 캐시 기반 할당
기본 정렬
16바이트
연결 방식
라이브러리와 소스 포함
rpmalloc은 C로 구현한 범용 메모리 할당기다. 스레드 캐시와 원자적 연산을 활용하는 설계를 사용하며 여러 운영체제에서 메모리 할당 및 반환과 실행 중 설정 기능을 제공한다.

스레드별 할당 상태

각 스레드의 할당 상태를 관리하고 스레드 종료 시 관련 힙을 다른 스레드가 재사용하도록 반환하는 기능을 제공한다. 기본 구성에서는 첫 할당에 맞춰 초기화한다. 사용자 정의 설정이 필요하면 할당 전에 별도 초기화를 수행한다.

운영체제와 메모리 인터페이스

Windows와 Linux 및 macOS와 iOS 및 Android를 지원한다. 가상 메모리의 매핑과 커밋 및 해제 같은 동작을 사용자 정의 인터페이스로 연결할 수 있다. 페이지 크기와 큰 페이지 사용 등도 구성 대상으로 다룬다.

통계와 별도 힙

선택적인 통계 수집과 미해제 할당 탐지 및 인자 검증 기능을 제공한다. 별도 빌드 설정으로 독립 힙 API를 사용할 수도 있다. 기본 할당 함수를 대체하는 기능은 연결 조건의 영향을 받으므로 일반 라이브러리 API와 구분된다.

관련 문서

Hoard 할당기 / jemalloc / mimalloc / snmalloc / 메모리 관리 / C 언어