From: "sam.saffron (Sam Saffron)" Date: 2013-04-30T16:43:35+09:00 Subject: [ruby-core:54710] [ruby-trunk - Feature #8339] Introducing Geneartional Garbage Collection for CRuby/MRI Issue #8339 has been updated by sam.saffron (Sam Saffron). Install latest ubuntu x64, grab latest source, make install seems to do the trick for me, will try to install on my mac and see what happens. gcc --version gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3 Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. export ... declare -x RUBY_FREE_MIN="600000" declare -x RUBY_GC_MALLOC_LIMIT="1000000000" declare -x RUBY_HEAP_MIN_SLOTS="800000" declare -x RUBY_HEAP_SLOTS_GROWTH_FACTOR="1.25" ---------------------------------------- Feature #8339: Introducing Geneartional Garbage Collection for CRuby/MRI https://bugs.ruby-lang.org/issues/8339#change-39055 Author: ko1 (Koichi Sasada) Status: Open Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: current: 2.1.0 | One day a Rubyist came to Koichi and said, "I understand how to improve | CRuby's performance. We must use a generational garbage collector." Koichi | patiently told the Rubyist the following story: "One day a Rubyist came | to Koichi and said, 'I understand how to improve CRuby's performance..." | [This story is an homage of an introduction in a paper: | "A real-time garbage collector based on the lifetimes of objects" | (by Henry Lieberman, Carl Hewitt) | ] We Heroku Matz team developed a new generational mark&sweep garbage collection algorithm RGenGC for CRuby/MRI. (correctly speaking, it is generational marking algorithm) What goods are: * Reduce marking time (yay!) * My algorithm doesn't introduce any incompatibility into normal C-exts. * Easy to development Please read more details in attached PDF file. Code is: https://github.com/ko1/ruby/tree/rgengc How about to introduce this new GC algorithm/implementation into Ruby 2.1.0? Thanks, Koichi -- http://bugs.ruby-lang.org/