【问题标题】:Template framework benchmark模板框架基准
【发布时间】:2016-10-19 14:55:25
【问题描述】:

我需要从预定义的模板中准备消息,我们要构建的系统将在一秒钟内准备 100 条消息。所以我编写了一个程序,使用市场上可用的多个模板框架顺序构建 1000 条消息

   -String template
   -Mustache template
   -Thymeleaf template
   -Rythm template
   -Pebble template
   -handler template

我用于此性能测试的模板包含一些带有多个 if/else 、 for 和替换语句的逻辑。

按顺序准备 1000 条消息。下面列出了这些的最终结果

  String template - 40 seconds
  Mustache template - 2 seconds
  Thymeleaf template - 15 seconds
  Rythm template   - 2 seconds
  Pebble template - 4 seconds
  Handler template - 7 seconds

在这些方面,我相信 Rythm 模板击败了所有其他模板框架。

让我知道您对 Rythm 模板的看法。使用它有什么缺点吗?

【问题讨论】:

标签: java mustache template-engine rythm pebble


【解决方案1】:

这里是节奏的作者。感谢您将 Rythm 纳入您的基准测试列表。

我对节奏的理解:

Rythm 的优点在于可用性、功能集和表现力。

缺点可能是:

  1. 罐子有点肥
  2. 除了vim没有IDE集成

【讨论】:

  • Rythm 会在我们第一次点击时生成代码并编译它。有办法强制吗?因为初始阶段需要超过 5 秒,我需要在收到第一个请求之前减少它。
  • 我认为您可以在您的 Rythm 插件中实现“预编译”行为。详情可以参考github.com/rythmengine/play-rythm/blob/master/src/org/…
【解决方案2】:

我看到的一个缺点是,如果有任何自定义/用户定义的函数可以在多个模板中使用,那么我们需要在所有模板中编写相同的函数。我的理解对吗?

【讨论】:

  • 一点也不。 Rythm 提供了最灵活的代码重用方式。您可以 a) 创建另一个模板并使用任何参数从任何模板调用它(甚至包括它本身,这是一种递归模式); b) 创建一个 Java 公共方法并在任何模板中调用它;有关代码重用的更多信息,请参阅rythmengine.org/doc/template_guide.md#reuse-methods-summary
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 2014-09-21
  • 2014-07-23
  • 2019-12-07
  • 1970-01-01
  • 2013-09-05
相关资源
最近更新 更多