XPath式の代わりにxsl変数を使用すると、XSLTのパフォーマンスは向上しますか?更新:処理にXalanを使用しています。
2 に答える
XPath 式の代わりに xsl 変数を使用すると、XSLT のパフォーマンスは向上しますか?
これは、使用されている XSLT プロセッサによって異なります。XSLT プロセッサに優れたオプティマイザがある場合、多くの場合、XSLT プロセッサ自体が因数分解を実行し、これを手動で実行しても実際の速度は向上しません。
でも:
評価結果を変数に「保存」すると、コードが短くなり、読みやすくなります。
これは、DRY (Don't Repeat Yourself) のベスト プラクティスをうまく適用したものです。
オプティマイザーに頼ってもうまくいくとは限りません。
関数/テンプレートのライブラリを作成する場合など、複数の異なる XSLT プロセッサによって実行されることを意図した移植可能なコードを作成する場合、オプティマイザに依存するべきではありません。
Saxon などの一部の XSLT 2.0 プロセッサでは、xsl:function
関数メモ化を有効にすることで実行を最適化することもできます。Saxon の場合、これは extension 属性saxon:memo-function
を に設定することによって行われます"yes"
。
それは私の経験ですが、より重要なのは、コードの可読性を向上させることです。また、コードの再利用がより簡単になります。