2011-06-10 107 views
0

我有一个webscript在用javascript编写的露天。在这个webscript中,我有很多递归(foreach循环)来生成由freemarker模板用来构建JSON的值。问题是JavaScript非常慢(3700毫秒)。我可以通过在freemarker中迭代获得相同的结果,但是我不知道是否值得在freemarker中编写复杂循环的麻烦,因为我不知道它是否更快,而且我不知道如何对它进行基准测试。递归的速度更快:javascript服务器端还是freemarker?

任何人都知道如果freemarker比javascript更快或者有谁知道如何基准freemarker?

+0

也许有些代码可以澄清你的问题? – KooiInc 2011-06-10 16:15:51

回答

3

前些日子有人说他FreeMarker的基准与GSP FreeMarker的-devel邮件列表上提到的(Groovy服务器页面?)。也许你可以重用他的一些基准测试。他的mailing list posting有一些链接。

2

如果您想与forEach进行比较,则会显示一些基准here

您可能需要设置自己的标杆jsperf

1

如果性能问题,您可以尝试编写您的web脚本Java instead。这并不难,而且有some examples

其中一个例子甚至展示了如何从Java输出JSON,跳过freemarker图层,这可能会帮助你,如果你想让它运行得尽可能快。

+0

这听起来很奇怪,因为我们雇佣了一些户外“老年人”,他们声明JavaScript比java快。在你的expirience java比JavaScript快? – 2011-06-12 19:20:08

+0

编写JavaScript可能比编写Java更快,这是大多数人倾向于选择JS进行扩展的原因之一。为了运行它,我期望Java更快。有一个原因,Alfresco的核心是用Java编写的! – Gagravarr 2011-06-13 00:43:42