From: "peterzhu2118 (Peter Zhu) via ruby-core" Date: 2023-08-23T01:44:12+00:00 Subject: [ruby-core:114459] [Ruby master Feature#19785] Deprecate `RUBY_GC_HEAP_INIT_SLOTS` Issue #19785 has been updated by peterzhu2118 (Peter Zhu). > How to know %d part? The `%d` part is the sizes returned from `GC.stat_heap`. On 64-bit systems, it's 40, 80, 160, 320, 640. On 32-bit systems it's 20, 40, 80, 160, 320. > How to tune the value? You use `RUBY_GC_HEAP_INIT_SIZE_40_SLOTS=4000000` to have 4M slots in the 40 byte size pool, for example. > it seems difficult to set it compare with setting 1 init value. Yes, it is more difficult than setting one value, but users of this API should be aware of how the GC internals work if they want to use this. > Another idea is to introduce RUBY_GC_HEAP_INIT_PAGES for the global page pool. The idea of `RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS` is to set initial sizes for Rails apps so the GC doesn't need to warm up. `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. ---------------------------------------- Feature #19785: Deprecate `RUBY_GC_HEAP_INIT_SLOTS` https://bugs.ruby-lang.org/issues/19785#change-104221 * 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/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/