Hello

Any kind of handle on DBI has a $h->{ChildHandles} that store weakrefs to
all child handles created. For instance, on a $dbh, you will get a list of
weakrefs to $sth you create.

When one of those $sth gets out of scope, its count get to 0. What Perl
does to the weakref, is to change it to an undef value (Perl isn't able to
remove that element from the array).

Although a single undef takes less memory than a complete $sth object, it
takes memory space. And if we get a lot of these undef values, things get
worse.

I noticed in the documentation that older Perl versions that doesn't
support weaken does not implement ChildHandles. Probably that means this
list is not *that* relevant.

My question is: how relevant is this list? relevant enough to waste this
space?

If it is not relevant on all situations, couldn't it be possible to turn it
off? Or then, turn it on if you want to use it?

Just some thoughts.

Thanks,
Alberto

-- 
Alberto Simões

Reply via email to