Using JAXB would make life much easier.
We could use xjc to generate the pojo classes straight from the xsd
file and work with that. Then you get a nice fast parser/generator
for free.
On Sep 19, 2008, at 10:03 AM, Louis Ryan wrote:
Actually Im pretty sure we could switch to STaX and use one of the
annotating binder impls out there. JAXB2 or somesuch. Probably a few
days of
coding.
On Fri, Sep 19, 2008 at 9:01 AM, Kevin Brown <[EMAIL PROTECTED]> wrote:
On Fri, Sep 19, 2008 at 5:24 PM, Ian Boston <[EMAIL PROTECTED]> wrote:
Two things.
Dom nearly always generates excessive object creation that under
load
stresses the GC of any JVM, I did some comparisons for smallish XML
blocks
between DOM and SAX (< 100 elements) a while back and there was
perhapse
3x
on speed and 4x on memory, I cant remember the precise details. I
understand
if its node manipulation thats required Dom is just easier and may
be the
same weight, but if its xml -> object then it may be better to
consider
sax
or a push parser. Cocoon had some bad experience with dom in the
request
cycle in v1 ( al long time ago when parsers were even more creaky)
Yeah, switching to sax would be a lot more efficient for the stuff
that we
do, but it would also require changing a lot more code (most likely
we
could
write adapters for each object type to simplify it).
The other thing I have been told by IBMers is that their JVM makes
it
hard
to replace the Xerces impl. I dont know if thats relevant.
The last 2 comments here http://jira.sakaiproject.org:8081/jira/
browse/SAK-14388
give some insight into a similar problem.
HTH
Ian
On 19 Sep 2008, at 13:59, Kevin Brown wrote:
I've noticed that the current performance of xml parsing is pretty
bad.
I've got a patch ready to go to improve this substantially. On our
internal
deployment it has cut down memory and CPU usage substantially and
has
significantly improved overall response time.
Most of the changes that need to be made are compatible with
fairly old
xml
parsers, but not so many work with pooling DocumentBuilders. For
instance,
xerces needs to be upgraded (I'm using 2.8.1, which is about 2
years
old,
and that works).
Does anyone have any strong objections to upgrading xerces, or
are there
any
instances of xml parsers being used that also don't support
DocumentBuilder.reset ?
Paul Lindner
[EMAIL PROTECTED]