4

Web アプリケーションのビュー レイヤーとして StringTemplate を使用しています。最近、ページのレンダリングにかかる​​時間を測定したところ、単純なページで約 50 ミリ秒、複雑なページで約 500 ミリ秒でした。これは私のニーズには多すぎるので、ST のパフォーマンスを改善する方法を探しています。これどうやってするの?

ほとんどの時間は StringTemplate.toString メソッドによって消費されるため、キャッシュの問題ではありません。

匿名テンプレートと組み込みテンプレートを積極的に使用しています - これが原因でしょうか?

4

3 に答える 3

4

toString ではなく write() を使用してから、ストリームに書き込みます。write() は、バッファリングなしでレンダリングおよび送信します。大きな違い。テル

于 2010-06-23T16:46:55.043 に答える
1

使用するtoString()とメモリが大きくなります。

ケースを使用して負荷テストを実行するときは、メモリを確認してくださいtoString()

あなたの記憶が十分であれば。2つの場合は同時にです。

于 2012-11-19T15:58:29.950 に答える
1

あれテレンス・パーですか?

テレンスが言いたかったのは

template.write(new AutoIndentWriter(response.getWriter()));

しかし、それが顕著な違いを生むとは信じられません。

2 つのことを別々に計る必要があります

String str = template.toString();  // 1
response.getWriter().print(str);   // 2

遅さはおそらくIOを含む2行目にあります。

于 2010-06-23T23:23:23.800 に答える