Templates 是否有java模板引擎基准测试?
我正在寻找最快和可靠的java模板引擎。是否有支持微秒的模板引擎的基准测试 我找到了引擎: Scrpting语言模板基准测试 速度太差了Templates 是否有java模板引擎基准测试?,templates,benchmarking,template-engine,freemarker,Templates,Benchmarking,Template Engine,Freemarker,我正在寻找最快和可靠的java模板引擎。是否有支持微秒的模板引擎的基准测试 我找到了引擎: Scrpting语言模板基准测试 速度太差了 我还感兴趣的是比较找到的引擎与freemarker和StringTemplate引擎的能力。这里有一个模板引擎基准测试:,它对以下java模板引擎进行基准测试: stringbuilder-基线。使用StringBulder手动创建页面 freemarker-v2.3.19 速度-v1.7 rythm-v1.0-b2 httl-1.0.7 beetl-1.
我还感兴趣的是比较找到的引擎与freemarker和StringTemplate引擎的能力。这里有一个模板引擎基准测试:,它对以下java模板引擎进行基准测试:
- stringbuilder-基线。使用StringBulder手动创建页面
- freemarker-v2.3.19
- 速度-v1.7
- rythm-v1.0-b2
- httl-1.0.7
- beetl-1.2
- 杰蒙-2.3
- jangod-无版本信息
- 胸腺素-2.0.15
- 我跑了10000圈。Rythm无法加载模板,所以我需要在测试中排除该错误
stringbuilder:
[java]ntimes:10000,实时:641(毫秒)
免费标记:
[java]时间:10000,实时:1602(毫秒)
速度:
[java]ntimes:10000,实时:1035(毫秒)
杰蒙:
[java]ntimes:10000,实时:633(毫秒)
httl:
[java]ntimes:10000,实时:479(毫秒)
jmte:
[java]ntimes:10000,实时:2193(毫秒)
httl在100次循环、1000次循环和最终10000次循环(如上所述)的所有测试中都表现出色 据它说:
Jade4j 567.7 seconds
Handlebars 147.7 seconds
Scalate - Scaml 33.33 seconds
Pebble 27.92 seconds
HTTL 24.61 seconds
Thymeleaf 24.09 seconds
Velocity 23.07 seconds
Freemarker 11.80 seconds
jTwig 10.95 seconds
Mustache (JMustache) 8.836 seconds
JSP 7.888 seconds
最好的部分是:您可以自己复制基准测试并验证结果:)上次我看到它(它当然没有改变)Velocity没有编译成任何东西,它只是直接运行AST。AST节点将使用
Map.get
和反射来获取值。FreeMarker也做了同样的事情(我相信),它应该会慢一些,因为它需要做更多的事情(更多的特性)。为“脚本语言”(如Python)编写的OTOH模板语言通常会转换为宿主脚本语言,然后alredy高度优化的脚本语言实现(如CPython)将发挥其神奇作用。。。这就是速度差异。有趣的基准测试,但我想知道你为什么不公布你的结果。也许我有点太懒了:)问题是模板引擎正在更新,结果可能与新版本无关。因此,最好选择每个模板引擎jar文件的最新版本,将它们放入lib文件夹并运行基准测试。无论如何,在这里您可以找到基准测试结果的快照:谢谢。我认为,通过这种方式,我们可以了解这些数字,尽管它们可能会随着时间的推移发生一些变化。这个基准缺少把手和胡子,但在添加它们的地方有一个叉子(带有一个缓慢的拉动请求):您也能测试StringTemplate吗?或者分享如何为较新的模板引擎做到这一点?