Feature #171
closedImprove Performance of JAXB Marshaller
0%
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)
Updated by Tobias Wich almost 12 years ago
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.
Updated by Tobias Wich over 11 years ago
- Tracker changed from Bug to Feature
It's not a bug, it's a feature ;-)
Updated by Tobias Wich over 10 years ago
- 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.
Updated by Tobias Wich over 10 years ago
- Target version changed from 1.1.0 to 1.3.0
Updated by Tobias Wich almost 10 years ago
- 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.
Updated by Tobias Wich over 9 years ago
- Status changed from In Progress to Review
- Reviewer set to Tobias Wich