From b887f4fb45e091eb644313699192fff538a92934 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 13 Nov 2014 20:16:59 +0000 Subject: * 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 --- ChangeLog | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 17a7604fec..a66483aef9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +Fri Nov 14 04:51:18 2014 Koichi Sasada + + * 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 * lib/net/imap.rb (search_response): parse MODSEQ in SEARCH -- cgit v1.2.3