15

バックグラウンド

jade 構文は素晴らしいですが、それがパフォーマンスにどのように影響しているかを確認したかったのです。

そこで、単一ページのアプリを作成し、apache ベンチを使用して、jade を使用してページをレンダリングする場合とメモリ内文字列を使用する場合のスループットを比較しました。変数はなかったので、これは純粋に学術的な比較でした。

インメモリ文字列により、アプリ全体がローカルで 2 倍以上高速になりました。これは、プロダクション モードの jade をインメモリ キャッシュからレンダリングする必要があることを考えると、かなりのようです。

ノード 0.8 と Express のバージョン 2.5.11 をプロダクション モードで使用しており、ビュー キャッシュ オプションを明示的に に設定していtrueます。

Apache ベンチの結果: https://dl.dropbox.com/u/3737990/jade/jade.png https://dl.dropbox.com/u/3737990/jade/memory.png

4

3 に答える 3

9

Harry が述べたように、テンプレート エンジンのパフォーマンスと文字列送信のパフォーマンスを比較しても意味がありません。これらは 2 つの異なるニーズに対応するからです。これは、2 台の車の MPG を比較するようなものです。ただし、1 台の車をニュートラルにして丘を転がり落ちるようにします。

代わりに、テンプレート エンジンを比較する方がはるかに役立ちます。なぜなら、それらはすべて同じ目的 (動的にレンダリングされる HTML) に対する手段だからです。

ここでは、Jade が最も遅いテンプレート言語であることがわかります。これが事実である理由にはおそらく多くの要因がありますが、中心的な問題は、Jadeが速度のために設計されていないことです。非常に高いパフォーマンスが必要な場合、doTは速度を重視して設計されています。

于 2012-07-15T22:47:40.533 に答える
5

メモリ内文字列は実行できる最速の処理であるため、それと比較することはあまり意味がありません。テンプレートは、文字列連結ほど高速になることはありません。本番モードに設定することは、パフォーマンスに関して実行できる最も重要なことです。

于 2012-07-13T23:09:21.667 に答える