ここでは経験的データに基づいて私の観察です。私は広範囲にxsltを使い、多くの場合、javaで実装されているデータプロセッサの代替として使用します。私たちが編集したデータプロセッサの中には、もう少し複雑なものがあります。主にSAXON EEをoxygenxmlエディタで使用します。ここでは、変換のパフォーマンスに関して我々が気づいたことがあります。
あまり複雑でないxslスタイルシートの場合、パフォーマンスはかなり良いです(30MBのXMLファイルを読み込み、div構造を多く含む20のhtmlコンテンツページより を生成するには2秒です)。パフォーマンスのばらつきは、ファイルのサイズの変化に対して線形またはそれ以下のように見えます。
しかし、xslスタイルシートの複雑さが変化すると、パフォーマンスの変化が指数関数的になる可能性があります(同じファイル、関数呼び出しが頻繁に呼び出され、関数が単純なxpath解決を実装しているため、 、同じファイル、2から24まで)とそれは関数と関数呼び出しの導入が大きな原因と思われるようです。 しかし、詳細なパフォーマンスレビューとコード最適化は行っていません。 (まだアルファモードで、性能はまだ私たちの限界の範囲内です - バッチジョブ)。私は、コード抽象化のアイデアを関数(テンプレートの使用に加えて)に使用した場所の多くの場所で、xsl関数が「乱用されている」ことを認めなければなりません。私の疑問は、xsltテンプレートが呼び出される性質のために、xsltプロセッサ用の実装プロシージャで多くの最終的な再帰があり、関数呼び出しが最適化されていないと高価になる可能性があるということです。 XSLT/XPATH中心になるように、xslスクリプトを書く方法での "戦略"の変更は、xlstプロセッサのパフォーマンスに役立つと考えています。たとえば、xslキーの使用。そう、はい、私たちは多分、プロセッサーが請求したものと同じくらい有罪です:)
他のパフォーマンス上の問題の1つは、メモリー使用量です。 RAMは技術的に問題ではありませんが、1回の呼び出し/変換で1GB(4GB)から6GBまでの単純なプロセッサーは、まったく正式なものではありません。多分、スケーラビリティと容量に関する懸念があります(アプリケーションと使用方法によって異なります)。これは、基礎となるxlstプロセッサーとはあまり関係がないかもしれません。また、エディターツールともっと関連しているかもしれません。これは、リアルタイムでスタイルシートをデバッグすることに大きな影響を与えます(xsltをステップ実行する)。
少数の観測: - コマンドラインまたはプロセッサの「生産」呼び出しは より良い性能を持っているが - の連続実行(XSLTプロセッサを呼び出す)ため、最初の実行が最長(10Sを言う)と連続して実行されますが、はるかに少ないを取る取ります(4秒).Again、おそらくエディタ環境と関係があります。
しかし、プロセッサの性能は時には苦痛を伴うことがありますが、アプリケーションの要件に応じて、コードのメンテナンス、実装の容易さ、迅速性XSLTとJava(またはその他)を使用した実装を比較するときに、コードベース、コードベースのサイズ、パフォーマンスの問題を緩和したり、「受け入れられる」(最終アプリケーションがまだパフォーマンス番号で生き残れるかどうか)
.adieu!
XLSTではほとんどのLinuxシステムでxsltprocのようなコマンドラインツールを使用できますか? – Chris