My thoughts on ref counting are really academic. I am not arguing for anything. I don't even know where these thoughts are leading. But... It seems to me that there are two distinctly seperate goals of garbage collection: 1) Free up memory 2) Finalize objects. Obviously goal 1 is better done with lazy processing. That is the Java/Ruby GC approach. Goal 2 is better done with ref counting. Most objects need goal 1 (not all, but most). Only a few objects need goal 2. Having goal 2 be met by an optional feature that costs more overhead, only on objects that need it, would be logical. -----Original Message----- From: Yukihiro Matsumoto [mailto:matz / ruby-lang.org] Sent: Tuesday, November 27, 2001 10:28 PM To: ruby-talk ML Subject: [ruby-talk:26746] Re: [OT] Re: KDE or GNOME curiosity question... Hi, In message "[ruby-talk:26544] Re: [OT] Re: KDE or GNOME curiosity question..." on 01/11/27, "mark hahn" <mchahn / facelink.com> writes: |> Circular references will cause the object to stay around indefinitely | |I was thinking of the reference counting as being totally seperate from gc. |So ref counting would have no effect one way or the other as to how long |objects "stay around". The only effect of the ref counting would be to call |the special method which is not the gc finalizer. I don't have a name for |this method yet, maybe "pre-finalizer"? Hmm, I'm not sure how it works and how much useful. At least implicit ref counting requires write barrier opened. matz.