[Biojava-l] Dazzle server-client bottlenecks

Thomas Down td2@sanger.ac.uk
Mon, 23 Jul 2001 14:58:42 +0100


On Mon, Jul 23, 2001 at 01:04:31PM +0100, David Huen wrote:
> 
> > Anyway, there's a very simple fix: extract the symbol data
> > directly from SAX (or StAX) events.  I'm pretty confident that
> > the limiting factor will then be the BioJava SymbolParsers
> > (which have already been optimized to some extent anyway).
> > This should have been done a while back, but I've kept
> > putting it back, probably because I hardly ever have the
> > symbols display turned on in DAS.  I'll have a go this afternoon,
> > once I've caught up with my mails from BOSC...
> > 
> If this turns out to be the problem I might recode the parsing
> eventually if you haven't done it by then already.

I've coded this up now -- I wanted to do it anyway, since
I don't really want to use any DOM code in DAS (primarily
because I don't like the memory usage...).  It's all working
now from CVS.  One quick benchmark (fasta-dumping a section
of a human chromosome):

  Before:      7.3s
  After:       5.1s

Given that this time includes initializing the SequenceDB and
Sequence objects, plus some assembly-fetching, in addition
to time to get the DNA, this one change has made a big difference.
Damn, I keep forgetting just how slow DOM can be...


   Thomas.

PS. David: how far did you get with DAS-over-compressed-streams?
    Given that I'm often finding I'm shifting around a megabyte
    or two of (highly redundant) feature-table XML when viewing
    a largish region, I think compression could really pay
    dividends here (especially for modem users!).