Feature #171
closed
Improve Performance of JAXB Marshaller
Added by Tobias Wich almost 12 years ago.
Updated almost 10 years ago.
Description
The JAXB Marshaller takes a pretty long time loading all class definitions. The result is a, in my opinion, very long startup time.
There are a few possibilities to improve the situation:
- Load Marshaller in the background whenever possible
- Use specialized Marshaller (only classes loaded which are needed, not all), This might not be possible for the Dispatcher.
- Create class sets for the different instances, e.g. IFD, SAL, etc.
- Create statically generated Marshaller at compile time (This one is really hard, but the most effective)
A quick profile run of the application startup showed, that the JAXB code is accountable for roughly 90% of the total time spent on the initialization.
- Tracker changed from Bug to Feature
It's not a bug, it's a feature ;-)
- Assignee set to Tobias Wich
- Target version set to 1.1.0
I suppose using Futures executed in the background are a very good way to get results quickly. I also believe this can be limited to instances containing all available JAXB classes.
- Target version changed from 1.1.0 to 1.3.0
- Status changed from New to In Progress
- Target version changed from 1.3.0 to 1.1.0
The current version loads the definitions in the background. However it seems, that the real processing time is needed to build the JAXBContext objects. These can be shared, so it would be better to only load one instance containing all classes and share it amoung the different code segemnts accessing the marshaller.
- Status changed from In Progress to Review
- Reviewer set to Tobias Wich
- Status changed from Review to Closed
Also available in: Atom
PDF