Templates 是否有java模板引擎基准测试?

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.

我正在寻找最快和可靠的java模板引擎。是否有支持微秒的模板引擎的基准测试

我找到了引擎:

Scrpting语言模板基准测试 速度太差了


我还感兴趣的是比较找到的引擎与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吗?或者分享如何为较新的模板引擎做到这一点?