为什么 StringTemplate 会很慢?

发布于 2024-09-07 06:10:01 字数 217 浏览 5 评论 0原文

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

大部分时间都被StringTemplate.toString方法消耗了,所以不是缓存问题。

我积极使用匿名模板和包含模板 - 这可能是原因吗?

I'm using StringTemplate as view layer for my web application. Recently I've measured how much time is spent rendering pages and it's around 50ms for simple pages and 500ms for complex pages. This is too much for my needs, so I'm looking for a way to improve ST's performance. How can I do this?

Most of the time is consumed by the StringTemplate.toString method, so it's not a cache problem.

I actively use anonymous templates and included templates - could this be the cause?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

耳钉梦 2024-09-14 06:10:01

使用 write() 而不是 toString 然后写入流。 write() 将渲染和传输,无需缓冲。差别很大。
特尔

use write() not toString then writing to your stream. write() will render and transmit w/o buffering. big difference.
Ter

你げ笑在眉眼 2024-09-14 06:10:01

那是特伦斯·帕尔吗?

我认为特伦斯的意思是,

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

但我不相信这会产生任何明显的差异。

您应该分别对两件事进行计时,

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

缓慢可能出现在涉及 IO 的第二行。

Is that the Terence Parr?

I think what Terence meant is

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

however I can not beieve that will make any noticeable difference.

You should time two things separately

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

the slowness is probably on the 2nd line which involves IO.

生活了然无味 2024-09-14 06:10:01

如果您使用toString() 内存会很大。

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

如果你的内存足够的话。两种情况是同时发生的。

If you use toString() Memory is going to large.

Check your memory when run load test with toString() case.

If your memory is enough. Two case is the same time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文