From: ko1@... Date: 2014-03-01T10:18:25+00:00 Subject: [ruby-core:61177] [ruby-trunk - Bug #9584] RGenGC regression in CoW sharing Issue #9584 has been updated by Koichi Sasada. ruby -v changed from ruby 2.2.0dev (2014-02-17 trunk 45028) [x86_64-linux] to - (2014/03/01 19:01), Eric Wong wrote: > Yes, but look again at the SHARED_* numbers from nari's test > code. #define USE_RGENGC 0 shares more memory. I doubt it caused from memory layout changing issue. RGenGC introduces more memory pages for objects. This may prohibit to collect old object closely. Anyway, we need more survey about this issue. >> > And also, I'm worry about WB performance. > I doubt it's much difference. Ordinally case, it doesn't affect. > I haven't been able to fix my bitmap patch to test performance > (can't finish build, even). I suspect it's fake objects, I marked some with > FL_PERMANENT but maybe I missed some. If you have time, can you please > take a look? Sure. FL_PERMANENT is tricky :) -- // SASADA Koichi at atdot dot net ---------------------------------------- Bug #9584: RGenGC regression in CoW sharing https://bugs.ruby-lang.org/issues/9584#change-45537 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: Koichi Sasada * Category: * Target version: * ruby -v: - * Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- I just changed USE_RGENGC in ruby.h (and made r45224) Using Nari-san's original test for bitmap marking GC: https://github.com/authorNari/skkzipcode.git rgengc enabled: (default) PROCESS_CNT : 5 SHARED_AVE : 81644.0 kb SHARED_TOTAL: 408220 kb PRIV_AVE : 87692.0 kb PRIV_TOTAL : 438460 kb REQ/SEC : 0.003136 rgengc disabled: PROCESS_CNT : 5 SHARED_AVE : 117307.2 kb SHARED_TOTAL: 586536 kb PRIV_AVE : 44453.6 kb PRIV_TOTAL : 222268 kb REQ/SEC : 0.002963 I started using bitmaps, but it seems there are some places where my code is buggy. I haven't had more time to investigate, yet. My work-in-progress is attached. ---Files-------------------------------- rgengc-bitmap-promoted-wip.diff (9.22 KB) -- http://bugs.ruby-lang.org/