概要
参考:
What causes Ruby memory bloat? | Joyful Bikeshedding
インクリメンタル GC
参考:
インクリメンタル GC の導入 | Rubyist Magazine (るびま)
Transient Heap (theap)
参考:
Ruby 2.6 の改善を自慢したい | クックパッド開発者ブログ
copy-on-write
参考:
Ruby のメモリ割り当て方法と copy-on-write の限界 翻訳 | TechRacho
Ruby 2.0 (or later) の CoW | 大事なものは目に見えない
Ruby 2.0.0 の GC 改善 | Rubyist Magazine (るびま)
Feature #7095: Non-recursive marking – Ruby trunk | Ruby Issue Tracking System
The Limits of Copy-on-write: How Ruby Allocates Memory | Brandur Leach
malloc
参考:
malloc でマルチスレッドプログラムのメモリが倍増する理由 翻訳 | TechRacho
M_ARENA_MAX
参考:
Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc | Ruby Issue Tracking System
malloc_trim
参考:
Feature #15667: Introduce malloc_trim(0) in full gc cycles | Ruby Issue Tracking System
jemalloc
参考:
Getting Started · jemalloc/jemalloc Wiki – GitHub
Feature #14718: Use jemalloc by default? | Ruby Issue Tracking System