[Bioperl-l] Query Unigene title from input a ACC number / BioPerl Object Creation

Ewan Birney birney at ebi.ac.uk
Tue Mar 25 17:41:24 EST 2003


>
> I believe Ensembl hit this perf problem and went with a simplier object
> initialization scheme to buy them the performance they needed.  It means
> that you have to code up more things when you inherit from an object
> (and have to remember to update all child classes when every a parent
> class changes) but you get some performance increase.
>

Yeah - inside Ensembl we make the hash *just right* then bless it, rather
than making an object and filling it in. The main thing you hit is that
Perl is just not optimised to have 100,000 objects
created-and-then-destroyed every 3 function calls.


Nothing much else to do but:

  (a) write it in C, bind via XS and in 6 months time spend 1 month
chasing a memory leak/overwrite bug which segfaults your program (my
recommendation - don't do it)

  (b) go the Ensembl route - but you have to be damn sure you know what
you put in your hashes (note - because bioperl *interfaces* don't mandate
an implementation, you can still use bioperl interfaces, but stay clear
of implementations)

  (c) wait for parrot to work nicely and a nice Perl5 to Parrot compiler
that "does the right thing"

  (d) switch languages. I get tempted by python about once every 3 months
but give up trying to rewire my brain to deal with tabs.



> -jason
>
> --
> Jason Stajich
> Duke University
> jason at cgt.mc.duke.edu
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>



More information about the Bioperl-l mailing list