8 메가 파일이 있습니다. JAXB를 사용하는 마샬링에는 1082ms가 걸리고 DOM을 사용하면 862ms가 소요되며 SAX를 사용하면 438ms가 소요됩니다. JDK 1.6에서 모든 기본값을 사용하고 있습니다. woodstox를 사용하는 것과 같은 추가 구성은 사용되지 않습니다. 3207ms - 노력의 일환으로 JAXB가 더 빨라졌습니다.
는, JAXB에서 더 나은 성능을 얻을, 나는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();
이 그것도 느린 이동합니다 ... 그것은 수행하여 SAX 구문 분석을 사용할 수 있도록하려고합니다.
내 질문은 입니다. 1. 어떻게 JAXB를 더 빨리 만들 수 있습니까? 2. 어떻게 기본 파싱 메커니즘을 사용하고 있는지 100 % 확신 할 수 있습니까?
1. MOXy는 JAXB 2.1 및 2.2를 준수합니다. 공급자로 사용하는 방법에 대한 정보는 http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html을 참조하십시오. 최신 2.3.2 릴리스 (http://www.eclipse.org/eclipselink/downloads/)를 확인하십시오. JiBX는 JAXB 구현이 아닙니다. –