Files
hakmem/PERF_COMPARISON_ALLOCATORS.md

2.0 KiB
Raw Blame History

Allocator Throughput / RSS Comparison (Release)

環境: 1 thread, HAKMEM_WARM_TLS_BIND_C7=2, RSS は ru_maxrss (KB) を MB 換算。
Hakmem は fulllarson_guard プロファイルを計測。その他は system / mimalloc の素の挙動。

workload allocator ops/s max RSS (MB)
C7-only (1024B, ws32, 200k) hakmem-full 44,381,807 29.6
hakmem-bench 44,439,813 7.2
hakmem-larson_guard 48,455,082 28.9
mimalloc 74,433,394 1.8
system 78,514,783 1.6
1291024B (ws256, 1M) hakmem-full 48,895,987 29.6
hakmem-bench 49,226,419 7.2
hakmem-larson_guard 52,327,019 28.8
mimalloc 106,310,868 1.9
system 95,633,188 1.6
161024B (ws256, 1M) hakmem-full 48,276,749 29.7
hakmem-bench 48,759,807 7.2
hakmem-larson_guard 50,494,992 28.9
mimalloc 126,403,649 1.9
system 95,361,993 1.6

所感 (現時点):

  • スループットは system/mimalloc が優勢。Hakmem (full/guard) は C7 特化ワークロードで 4448M ops/s 帯。
  • bench プロファイルを「実配列縮小」版に切り替えたことで、C7-only/1291024B/161024B いずれも RSS は ~29MB → ~7MB まで低減ops/s は同レンジ)。
  • RSS は system/mimalloc が圧倒的に小さい (1.61.9MB)。Hakmem は full/guard で ~29MB、bench 版は 7MB 前後まで圧縮できた。***