
Issue #19785 has been updated by byroot (Jean Boussier).
RUBY_GC_HEAP_INIT_PAGES will allocate pages to size pools based on the distribution of objects at boot, and I worry that it will be a different distribution than serving requests.
Unless the GC become capable of reusing an empty page of one pool for another? Assuming you call `GC.compact` or `Process.warmup` at the end of boot, the difference becomes marginal, and a single value becomes indeed much simpler to configure and keep up to date. But perhaps I'm missing something? ---------------------------------------- Feature #19785: Deprecate `RUBY_GC_HEAP_INIT_SLOTS` https://bugs.ruby-lang.org/issues/19785#change-104228 * Author: peterzhu2118 (Peter Zhu) * Status: Open * Priority: Normal ---------------------------------------- GitHub PR: https://github.com/ruby/ruby/pull/8147 The `RUBY_GC_HEAP_INIT_SLOTS` environment variable is replaced by `RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS` (introduced in commit [3ab3455](https://github.com/ruby/ruby/commit/3ab34551450c7a3a3e1ae0b24bf6b78d26129dfa)), which allows for more fine-grained tuning of size pools. So it doesn't make sense to keep the environment variable `RUBY_GC_HEAP_INIT_SLOTS`. I'm proposing to deprecate `RUBY_GC_HEAP_INIT_SLOTS` and eventually remove it. -- https://bugs.ruby-lang.org/