I finished rewriting the unmarshaller.
Most of the changes is to simplify the handler (now called loader)
interactions by eliminating the unnecessary capability we used to have.
Other highlights:
- I eliminated the need to copy attributes, which we used to do.
- In most circumstances, tag names (and attribute names) are used
only once to look up a Map. If String.intern is really expensive,
perhaps we might run faster with this disabled.
Our internal benchmark shows that the sustained in-memory unmarshalling
performance (from byte[]) is about 20% faster, and JAXBContext memory
footprint is 10% smaller.
I'm still fixing regressions, but I hope you'll like it.
--
Kohsuke Kawaguchi
Sun Microsystems kohsuke.kawaguchi_at_sun.com