[Bioperl-l] SeqIO profiling
Matthew Pocock
matthew_pocock@yahoo.co.uk
Wed, 18 Sep 2002 23:49:21 +0100
Hilmar Lapp wrote:
>
> On Tuesday, September 17, 2002, at 07:24 AM, Tim Bunce wrote:
>
>>
>> The "too late to call INIT now" warning is hinting at what is
>> probably the real problem: some code is being loaded at run time.
>> Find that code.
>>
>
> Thanks for the tip. Yes, we do load code at runtime. Since all modules
> inherit from Bio::Root::Root, INIT is not an option then.
>
> I do agree with Aaron. Most if not all of the things I've seen in BEGIN
> blocks are initialization of static variables.
Can you not just put this code directly in the package, or in an
anonymous block (if you need to scope variables)?
As for walking the ISA tree, I believe once a package has located a
method via ISA, it caches this reference in some magic space in the
package. Then, next time it will fetch the sub ref from this magic
rather than by walking ISA. If @ISA is modified, then the cache gets
flushed (or the lookup step flushes the cache or something). Of course,
I may be wrong on this - I don't use perl daily.
Matthew
>
> -hilmar
> --
> -------------------------------------------------------------
> Hilmar Lapp email: lapp at gnf.org
> GNF, San Diego, Ca. 92121 phone: +1-858-812-1757
> -------------------------------------------------------------
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>
--
BioJava Consulting LTD - Support and training for BioJava
http://www.biojava.co.uk