Feature #2837
closedCompile-time constant for HEAP_GROWTH_FACTOR (patch attached)
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
Updated by nobu (Nobuyoshi Nakada) over 14 years ago
=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
Updated by adgar (Michael Edgar) over 14 years ago
=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
Updated by nahi (Hiroshi Nakamura) over 12 years ago
- Description updated (diff)
- Assignee set to authorNari (Narihiro Nakamura)
Updated by shyouhei (Shyouhei Urabe) over 12 years ago
- Status changed from Open to Assigned
Updated by authorNari (Narihiro Nakamura) about 12 years ago
- Target version changed from 2.0.0 to 2.6
Updated by nobu (Nobuyoshi Nakada) over 11 years ago
This patch contains not only the subject but also the accessors.
It isn't acceptable and you should separate them, I think.
Updated by authorNari (Narihiro Nakamura) over 11 years ago
- 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.