develooper Front page | perl.perl5.porters | Postings from August 2010

Re: [perl #75176] Symbol::delete_package does not free certain memory associated with package::ISA

Thread Previous | Thread Next
From:
Father Chrysostomos
Date:
August 22, 2010 17:39
Subject:
Re: [perl #75176] Symbol::delete_package does not free certain memory associated with package::ISA
Message ID:
5A7935D8-01BE-4093-9B0A-A04826E0BB0C@cpan.org

On Aug 8, 2010, at 12:22 PM, Father Chrysostomos wrote:

> If PL_sub_generation does not invalidate isa caches, would it be appropriate to add a new PL_isa_generation variable?
> 
>> It's not common, and I don't see an absolute need to calculate the
>> strict set of packages affected, and call mro_changed_in() for just them.
> 
> And I now realise that such would be very inefficient anyway, as nested classes have nothing to do with inheritance. (*p:: = *PPI:: would have to iterate through 94 packages, recalculating the linear isa cache, etc. *p:: = delete $::{"PPI"} would do that iteration twice.)

I think we will have to live with this inefficiency. Anyway, most of the time I alias packages, it’s just for a few. The most common example in my code is ‘use DDS’ which loads DDS.pm, which aliases DDS:: to Data'Dump'Streamer::.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About