[ruby-cvs:55563] ko1:r48413 (trunk): * gc.c: Tuning RincGC parameters.

ko1 at ruby-lang.org ko1 at ruby-lang.org
Fri Nov 14 05:17:01 JST 2014


ko1	2014-11-14 05:16:59 +0900 (Fri, 14 Nov 2014)

  New Revision: 48413

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=48413

  Log:
    * gc.c: Tuning RincGC parameters.
      Before this patch, gc_marks_step() marks (white -> grey) fixed
      number objects. However, this strategy does not fit practical
      cases, for example too slow to make progres.
      This patch changes this strategy how many objects the
      gc_marks_step() should handle.
      We can estimate how many times gc_marks_step() is called during
      this major marking (== C) with the free slot number in pooled
      pages. We also can estimate the living object number (== L)
      using last marked_slots value. We can solve this problem (how
      many objects should be process in gc_marks_step()) by L/C.
    * gc.c (rb_objspace_t): add rb_objspace_t::rincgc::pooled_sltos and
      step_slots.

  Modified files:
    trunk/ChangeLog
    trunk/gc.c


More information about the ruby-cvs mailing list