Re: Optimizing and XMLC application

Mark Diekhans <[email protected]>
Newsgroups gmane.comp.java.enhydra.xmlc
Message-ID <[email protected]>
David Corbin <[email protected]> writes:
> I have an XMLC-based application that needs some optimiztion.  It is XHTML
> based (which, I think means it cannot use the LazyDOM, right?).

There isn't currently a XHTML LazyDOM implementation.  It's not all that hard
to implement, but there is a bit of a learning curve to know how to do it.

However, it doesn't sounds like your problem will be helped by a lazydom,
as it optimizes for data that doesn't change

> 1) Eliminate all the "white-space-text nodes" that are not really
> necessary in the duplicated "row" template2)

This could help; you might even be able to achieve this by changing
parser options (don't really remember the details).

>  Consider converting to HTML and using LazyDOM (will this really help me if
> I'm mostly creating new nodes?

nope..

>3) Pre-generate large chunks of the final DOM (a good majority of the
> duplicated "rows" are from domain data, and fairly static).
>4) Pre-generate the data has HTML at run-time, or even at compile time
> (see #3 above)

These could be a huge win.  Not only do you avoid DOM work, but the work
of getting the data to populate the DOM.

> 5) Look for minor optimizations that can be done to XMLC or Xerces itself.

probably a lot of work for a little gain unless you find something 
that is specificly a big hot spot

> 6) Find a better XML/XHTML Dom implementation than Xerces uses.

The xerces dom is pretty well optimized and with the current implementation
of XMLC, it's a bit of work to become DOM implementation independent.

The most important is to collect data before optimizing; one can waste a lot
of time and make code a lot more complex without accomplishing much (be there,
done that).  Personally, I found Jprobe to be a very useful profiling tool.
However, I haven't done java profiling (or much java programming) for over a
year, so I don't know the current state of things.

Mark
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.