diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-11-13 20:16:59 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-11-13 20:16:59 +0000 |
commit | b887f4fb45e091eb644313699192fff538a92934 (patch) | |
tree | 9f6aceb2fc8a328017ad27398428868a2a67fc4b /ChangeLog | |
parent | 5a79fda5b4042f1182c73754751e7d7347f5d6e4 (diff) |
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -1,3 +1,23 @@ +Fri Nov 14 04:51:18 2014 Koichi Sasada <ko1@atdot.net> + + * 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. + Fri Nov 14 01:26:47 2014 Shugo Maeda <shugo@ruby-lang.org> * lib/net/imap.rb (search_response): parse MODSEQ in SEARCH |