summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-13 20:16:59 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-13 20:16:59 +0000
commitb887f4fb45e091eb644313699192fff538a92934 (patch)
tree9f6aceb2fc8a328017ad27398428868a2a67fc4b /ChangeLog
parent5a79fda5b4042f1182c73754751e7d7347f5d6e4 (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--ChangeLog20
1 files changed, 20 insertions, 0 deletions
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 <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