私は8メガファイルを持っています。 JAXBを使用するマーシャリングには1082ms、DOMには862ms、SAXには438msかかる。これはJDK 1.6ですべてのデフォルトを使用しており、woodstoxを使用するなどの特別な設定は使用されません。努力の中でJAXBの高速化
、JAXBからより良いパフォーマンスを得るために、私はそれが実行して解析するSAXを使うようにしよう...
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();
これは、それがさらに遅く行かせる - 3207ms。
私の質問は次のとおりです。 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実装ではありません。 –