At 10:38 AM 2/12/2001 -0500, Sam Tregar wrote:
>On Mon, 12 Feb 2001, Dan Sugalski wrote:
>
> > Perl needs some level of tracking for objects with finalization attached to
> > them. Full refcounting isn't required, however.
>
>I think I've heard you state that before.  Can you be more specific?  What
>alternate system do you have in mind?  Is this just wishful thinking?

This isn't just wishful thinking, no.

> > Also, the vast majority of perl variables have no finalization
> > attached to them.
>
>That's true, but without static typing don't you have to treat them as if
>they did?  At the very least you need to do a "is it an object with a
>DESTROY" check at block boundaries.

Code flow analysis can get an awful lot. Some help from the runtime will 
get the rest.

It's reasonably obvious (which is to say "cheap") which variables aren't 
involved with anything finalizable.

> > I do wish people would get garbage collection and finalization split in
> > their minds. They are two separate things which can, and will, be dealt
> > with separately.
>
>2x the penalty, right?  Instead of a speed increase we carry the burden of
>ref-counting in addition to the overhead of an alternate system.

Nowhere near double the penalty. We only need to deal with refcounts when 
references are actually taken, assigned, or destroyed. That's a rare 
occurrence, relatively speaking.

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to