David Corbin <dcorbin@xxxxxxxxxxxxxx> 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
|
|