为什么StringTemplate会变慢?

时间:2010-06-23 15:15:43

标签: java stringtemplate

我正在使用StringTemplate作为我的Web应用程序的视图层。最近我测量了渲染页面花了多少时间,简单页面大约50ms,复杂页面大约500ms。这对我的需求来说太多了,所以我正在寻找一种提高ST性能的方法。我怎么能这样做?

大部分时间都是StringTemplate.toString方法消耗的,因此它不是缓存问题。

我主动使用匿名模板和包含的模板 - 这可能是原因吗?

3 个答案:

答案 0 :(得分:4)

使用write()而不是toString然后写入您的流。 write()将呈现和传输无缓冲。很大的区别。 叔

答案 1 :(得分:1)

那是 Terence Parr吗?

我认为特伦斯的意思是

template.write(new AutoIndentWriter(response.getWriter()));
然而,我无法相信这会产生明显的不同。

你应该分开两件事

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

缓慢可能是涉及IO的第二行。

答案 2 :(得分:1)

如果您使用toString()内存将变大。

使用toString()案例运行负载测试时检查内存。

如果你的记忆力足够了。两个案例是同一时间。