From: Magnus Holm Date: 2013-04-28T22:20:01+09:00 Subject: [ruby-core:54659] Re: [ruby-trunk - Feature #8339][Open] Introducing Geneartional Garbage Collection for CRuby/MRI --089e011837d4f2b78904db6b9f05 Content-Type: text/plain; charset=UTF-8 On Sat, Apr 27, 2013 at 8:19 PM, ko1 (Koichi Sasada) wrote: > 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 Another thing: What about passing the old value to OBJ_WB too? OBJ_WB(from, to, old)? In this implementation it would just be a no-op. There are some nice garbage collectors that you can implement if your write-barriers have old values too (e.g "An On-the-Fly Mark and Sweep Garbage Collector Based on Sliding Views"). --089e011837d4f2b78904db6b9f05 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sat, Apr 27, 2013 at 8:19 PM, ko1 (Koichi Sasada) <redmine@ruby-lang.org> wrote:
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:

=C2=A0 * Reduce marking time (yay!)
=C2=A0 * My algorithm doesn't introduce any incompatibility into normal= C-exts.
=C2=A0 * 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

Another thing: What about pass= ing the old value to OBJ_WB too? OBJ_WB(from, to, old)? In this implementat= ion it would just be a no-op. There are some nice garbage collectors that y= ou can implement if your write-barriers have old values too (e.g "An O= n-the-Fly Mark and Sweep Garbage Collector Based on Sliding Views").

--089e011837d4f2b78904db6b9f05--