From: "sam.saffron (Sam Saffron)" <sam.saffron@...> Date: 2013-05-01T16:47:17+09:00 Subject: [ruby-core:54724] [ruby-trunk - Feature #8339] Introducing Geneartional Garbage Collection for CRuby/MRI Issue #8339 has been updated by sam.saffron (Sam Saffron). @ko1 I ran some basic benches against Discourse, results are here: http://meta.discourse.org/t/ruby-may-be-getting-a-generational-gc-what-this-means-to-you/6289 was surprised that the tuned stack performed better for requests not triggering GCs ---------------------------------------- Feature #8339: Introducing Geneartional Garbage Collection for CRuby/MRI https://bugs.ruby-lang.org/issues/8339#change-39070 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/