벤치마크 보고서: 메모리 할당자에서 시간‑공간 트레이드오프 분석 (hakozuna vs tcmalloc)

발행: (2026년 1월 19일 오후 12:17 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

hakozuna repository

Benchmark Overview

맞춤 메모리 할당기 hz3(hakozuna 로도 불림)가 두 개의 산업 표준 할당기와 비교 평가되었습니다:

  • tcmalloc (Google)
  • mimalloc (Microsoft)

초점은 실행 속도와 메모리 사용량(RSS) 사이의 트레이드오프에 있었습니다.

Test Environment

  • CPU: AMD Ryzen 9 9950X
  • Runs per test: 5 (중앙값 보고)

Results

1. Espresso (실제 시뮬레이션)

할당기시간RSS비고
tcmalloc2.43 s9.7 MB가장 빠르지만 메모리 사용량이 가장 많음
mimalloc2.45 s4.0 MB균형 잡힘
hakozuna2.75 s2.6 MB가장 느림(+13 %), 하지만 메모리 사용량이 가장 적음

2. Alloc‑test (합성 테스트)

할당기시간RSS비고
tcmalloc1.99 s18.2 MB
mimalloc2.00 s22.0 MB
hakozuna2.51 s14.5 MB가장 작은 메모리 사용량

Analysis

속도의 비용

  • tcmalloc은 두 벤치마크 모두에서 가장 빠른 실행 시간을 달성했습니다.
  • 메모리 사용량이 크게 더 많았습니다(≈ 3.7배 높은 RSS, Espresso 테스트에서 9.7 MB vs 2.6 MB).
  • 이 할당기는 해제된 메모리를 스레드 로컬 저장소에 적극적으로 캐시하여 잠금 및 CPU 오버헤드를 최소화하지만, 그 대가로 메모리 사용량이 증가합니다.

절약의 비용

  • hakozuna는 일관되게 가장 낮은 RSS를 기록했습니다.
  • 이는 사용되지 않은 페이지를 OS에 반환하는 적극적인 정리 전략과 컴팩트한 메타데이터 설계 덕분입니다.
  • 메모리 사용량 감소는 실행 시간의 약간의 증가와 함께합니다.

Choosing the Right Allocator

  • 지연 시간에 민감한 애플리케이션으로 충분한 RAM을 가진 경우: tcmalloc 또는 mimalloc가 여전히 우수한 선택입니다.
  • 메모리 제한 환경(예: 고밀도 마이크로서비스, 임베디드 시스템): hakozuna는 메모리 소비를 크게 낮추면서 약간의 CPU 페널티를 감수하는 실용적인 대안입니다.

Conclusion

이 벤치마크는 “성능”이 단일 지표가 아님을 강조합니다. 항상 시간(실행 속도)과 공간(메모리 사용량) 사이의 균형입니다. 할당기를 선택할 때는 대상 워크로드의 구체적인 우선순위에 따라 결정해야 합니다.

Back to Blog

관련 글

더 보기 »