From: "urielka (Uriel Katz)" <uriel.katz@...> Date: 2013-05-08T20:56:13+09:00 Subject: [ruby-core:54864] [ruby-trunk - Feature #8339] Introducing Geneartional Garbage Collection for CRuby/MRI Issue #8339 has been updated by urielka (Uriel Katz). Amazing work! Quick question,wouldn't it be better to add a generation number instead of just a flag? The idea is that in the future you could add more generations(most gen GC I know use 3 generations) ---------------------------------------- Feature #8339: Introducing Geneartional Garbage Collection for CRuby/MRI https://bugs.ruby-lang.org/issues/8339#change-39196 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) | <http://dl.acm.org/citation.cfm?id=358147&CFID=321285546&CFTOKEN=10963356>] 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/