Javaアプリケーションは、XMLを「適切な」XMLに変換するためにXSLシートを使用します。問題は、結果のXMLが約20000以上の行で、Javaで変換するのに時間がかかることです(実動マシンでは約30秒)。XSLTグループ: "Muenchian Method"とfor-each-group
これはビジネスでは受け入れられません。私はXSLTを最適化する方法を探しています。
現在、私はXSLT 2.0グループ化を利用:
<xsl:for-each-group select="reportContent/transaction" group-by="transactionId">
(。私はグループを削除した場合、私は2Xブーストを取得し、それは確かにある)私達の開発者の一つは、これはパフォーマンスの低下の原因であると主張し、グループ化にMuenchianメソッドを使用することをお勧めします。
多くのコードを書き直す前に、誰かが何かを経験してグルーピングを書き直してみるのはです。Muenchianの方法では、パフォーマンスが向上しました。
Muenchianグループでを置き換えるのはなぜ "たくさんのコードを書き直す"必要がありますか?アプローチがより速いと思うなら、それを実装し、それをプロファイルして結果を比較してください。 Muenchianのグループ化はXSLT 1.0のテクニックであり、2017年のXSLT 2.0プロセッサは同等のパフォーマンスで 'for-each-group'を実装することができません。パフォーマンスを向上させるために、コンパイルを提供する商用パッケージを調べることができます。 –