From: matz@... (Yukihiro Matsumoto) Date: 2002-08-29T13:34:44+09:00 Subject: Re: Why Ruby Uses Mark-and-Sweep GC? Hi, In message "Re: Why Ruby Uses Mark-and-Sweep GC?" on 02/08/29, William Djaja Tjokroaminata writes: |Do you think it will be beneficial to add C API for Ruby objects that will |not participate in the mark-and-sweep gc in a future release of Ruby? I |think in this way we expand Ruby usefullness to include real-time |programming. I don't think so. What if non GCed objects refer GCed objects? We have to maintain some kind of "remembered set" (the list of GCed objects referred from non GCed objects). Or we will have dangling references. I believe such effort should be done by machines. In the GC field, this is called "generational garbage collection", which scans long-lived objects less often. I have a plan to use generational GC in Ruby in the future. |Also, garbage collection is not an essential element of Ruby, is it? If |some part of Ruby is not garbage-collected, Ruby is still Ruby, isn't |it? I think this will even add to Ruby's luster. If we have to maintain "rememebered set" by hand, it will not be Ruby, I think. matz.