0

JAXB からマーシャリングされた DOM を使用すると、パフォーマンスが極端に低下します。簡単に言うと、XML ファイルをソースとして作成された DOM を使用して XSL 変換を行う場合、約 30 秒かかります。JAXB 構造を DOM にマーシャリングして作成した DOM を使用して同じ変換を行うには、約 2 時間かかります。誇張はありません。特に興味深いのは、XML ファイル ソースが JAXB から作成された DOM を toString 化したものであるため、同じオブジェクトが処理されていることです。

Saxon 9HE、Xerces 2.11、および JAXB 2.1.9 を使用しています。

私は両方のケースをプロファイリングしましたが、最も興味深いのは、ファイル ソースの DOM がメソッド net.sf.saxon.tree.util.Navigator$DescendantEnumeration.advance() を約 1650 万回ヒットすることです。JAXB ソースの DOM は、私が強制終了するまでに 45回以上呼び出しました。明らかに、何かが違う。

もちろん、この背後にはさらに多くの情報がありますが、これが誰かにベルを鳴らすかどうか、そして私が見つけていない明らかな答えがあるかどうか疑問に思っています.

前もって感謝します!

4

0 に答える 0