Tag Archives: REE

Ruby: REE RUBY_HEAP allocation parameter and page alignment improvements.

http://code.google.com/p/rubyenterpriseedition/issues/detail?id=67

Use mmap() to allocate heaps by default.
Use mmap() MAP_ANON, instead of /dev/zero.
Align mmap() size to pagesize.
Align heap allocation size to pagesize.
Expand heap slotlimit to fit in aligned allocation.
New $RUBY_HEAP_* options:
  RUBY_HEAP_INIT_SLOTS=N
    initial number of slots per heap.
  RUBY_HEAP_MIN_SLOTS=N
    value is independent of RUBY_HEAP_INIT_SLOTS.
  RUBY_HEAP_MAX_SLOTS=N
    max number slots for a heap.
  RUBY_HEAP_PAGESIZE=bytes
    defaults to PAGESIZE or 4096.
  RUBY_HEAP_SLOTS_INCREMENT=N
    allow 0.
Refactor set_gc_parameters().

https://github.com/kstephens/ruby-enterprise-1.8.7-2011.03/tree/master-gc_tuning_parameter_improvements

https://github.com/kstephens/ruby-enterprise-1.8.7-2011.03/commit/692fd3c6a1d11bc6b4caeb5e167c35de7bd22d11