[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!).