28 Jul '12, 6pm
Proposal: Bitmap Marking GC
Hi. I created Bitmap Marking GC for Ruby2.0. Source code: https://github.com/authorNari/ruby/tree/bitmap_marking Patch: https://github.com/authorNari/patch_bag/blob/maste... In following environment, this patch works 'make check' and 'make TESTS="--gc-stress" test-all'. $ ruby -v ruby 2.0.0dev (2011-11-18 trunk 33786) [x86_64-linux] = Performance evaluation == make benchmark The result of make benchmark OPTS="-r 5" is here. https://gist.github.com/1542547 In general, it's a little bit slower. In Bitmap Marking GC, GC will need to find a bitmap for a object in a mark process. So, GC will be a little bit slow. == skkzipcode Bitmap Marking GC is copy-on-write friendly as Ruby Enterprise Edition does. http://www.rubyenterpriseedition.com/faq.html I measured a above improvement by skkzipcode which is a benchmark program. In skkzipcode, the parent process keeps many data and chi...