Machen JAXB schneller gehen

Ich habe eine 8 Meg-Datei. Marshalling mit JAXB nimmt 1082ms, mithilfe von DOM dauert 862ms, mit SAX nimmt 438ms. Dies ist über alle standardmäßig mit dem JDK 1.6, keine extra Einstellungen wie die Verwendung von woodstox verwendet wird.

In einer Anstrengung, um eine bessere Leistung von JAXB ist, versuche ich, es mit SAX Parsen by doing...

FileReader fr = new FileReader("myfile.xml");
JAXBContext jc = JAXBContext.newInstance(MyObjectList.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();

XMLInputFactory xmlif = XMLInputFactory.newInstance();
XMLEventReader xmler = xmlif.createXMLEventReader(fr);

long beginTime = System.currentTimeMillis();
MyObjectList obj = (MyObjectList)unmarshaller.unmarshal(xmler);
long endTime = System.currentTimeMillis();

Dies macht es gehen noch langsamer - 3207ms.

Meine Fragen sind:
1. Wie kann ich JAXB schneller gehen?
2. Wie kann ich 100% sicher sein, was die zugrunde liegende parsing-Mechanismus ist es?

InformationsquelleAutor More Than Five | 2011-12-24

Schreibe einen Kommentar