Feature #2837
closed
Compile-time constant for HEAP_GROWTH_FACTOR (patch attached)
Added by adgar (Michael Edgar) almost 15 years ago.
Updated almost 12 years ago.
Description
=begin
The GC currently increases the size at which newly-created heaps by a factor of 1.8 for each heap. Some find it appropriate to modify this value (REE uses a value of 1 instead of 1.8, for example). In the trunk version of this code, that value is hard-coded in as a constant at 1.8 in gc.c:980.
I've included a patch to expose this as a compile-time constant (HEAP_GROW_FACTOR), and also included getters and setters in the style of the patch I submitted in Issue 1047: http://redmine.ruby-lang.org/issues/show/1047 .
=end
Files
=begin
Hi,
At Fri, 5 Mar 2010 05:20:36 +0900,
Michael Edgar wrote in [ruby-core:28487]:
I've included a patch to expose this as a compile-time
constant (HEAP_GROW_FACTOR), and also included getters and
setters in the style of the patch I submitted in Issue 1047:
http://redmine.ruby-lang.org/issues/show/1047 .
At least, they must be members of rb_objspace_t, and the
argument ranges should be checked.
--
Nobu Nakada
=end
=begin
At least, they must be members of rb_objspace_t, and the
argument ranges should be checked.
I considered this, though they are compile-time constants that are being replaced. Pre-patch, they aren't currently in the rb_objspace_t. The malloc_limit accessor affects the currently rb_objspace_t as appropriate, but the HEAP_MIN_SLOTS accessors don't since that value doesn't directly affect existing structures. I can certainly put a heap_min_slots member into rb_objspace_t.
Also, which argument ranges are considered valid? Perhaps a malloc_limit of at least 10K? I don't know how small of a footprint Ruby could fit into that people would like. While most people increase these values beyond their initial defaults, I wouldn't want to set the limit too low.
Thanks!
=end
- Target version set to 2.0.0
- Description updated (diff)
- Assignee set to authorNari (Narihiro Nakamura)
- Status changed from Open to Assigned
- Target version changed from 2.0.0 to 2.6
This patch contains not only the subject but also the accessors.
It isn't acceptable and you should separate them, I think.
- Status changed from Assigned to Closed
I commited r39746.
We can change HEAP_GROWTH_FACTOR via an enviroment variable now.
So I close this ticket.
Thanks.
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0Like0