nodejs模板引擎的效率对比

nodejs模板引擎的效率对比
发布于
# nodejs

关于nodejs的模板引擎,我们该如何选择?

我们来看一下其中的效率对比数据

github地址为https://github.com/baryshev/template-benchmark


模板引擎

  • CoffeeKup v0.3.1

  • doT v1.0.1 

  • Dust v1.2.1

  • Eco v1.1.0-rc-3

  • ECT v0.4.8

  • EJS v0.8.3

  • Fest v0.5.4

  • Gaikan v1.3.4

  • Handlebars.js v1.0.9

  • Hogan.js v2.0.0

  • Jade v0.28.1

  • Swig v0.13.5

  • Underscore v1.4.4

测试环境:

  • CPU: Intel Core i5 450M 2.4Ghz

  • OS: Ubuntu Server 12.04

  • Node.JS version: 0.8.21


测试结果:

Rendering 100000 templates (用模板引擎各自渲染100000次):

ECT
  Escaped   : 2180ms
  Unescaped : 133ms
  Total     : 2313ms

Dust
  Escaped   : 2547ms
  Unescaped : 363ms
  Total     : 2910ms

Hogan.js
  Escaped   : 3252ms
  Unescaped : 758ms
  Total     : 4010ms

Gaikan
  Escaped   : 4288ms
  Unescaped : 85ms
  Total     : 4373ms

Fest
  Escaped   : 4179ms
  Unescaped : 265ms
  Total     : 4444ms

EJS without `with`
  Escaped   : 4526ms
  Unescaped : 485ms
  Total     : 5011ms

doT
  Escaped   : 5329ms
  Unescaped : 82ms
  Total     : 5411ms

Swig
  Escaped   : 5020ms
  Unescaped : 407ms
  Total     : 5427ms

Underscore
  Escaped   : 5775ms
  Unescaped : 2486ms
  Total     : 8261ms

Eco
  Escaped   : 8512ms
  Unescaped : 991ms
  Total     : 9503ms

EJS
  Escaped   : 6316ms
  Unescaped : 2734ms
  Total     : 9050ms

Handlebars.js
  Escaped   : 7815ms
  Unescaped : 2573ms
  Total     : 10388ms

Jade without `with`
  Escaped   : 8566ms
  Unescaped : 2982ms
  Total     : 11548ms

CoffeeKup
  Escaped   : 4968ms
  Unescaped : 9983ms
  Total     : 14951ms

Jade
  Escaped   : 18330ms
  Unescaped : 12095ms
  Total     : 30425ms


这个列表反应了各个框架在渲染了10万次页面所花费的时间,jade垫底了,不过有人说jade的预编译版本很好。那可能这个测试中使用的jade不是预编译版本的吧。


下面这张图反应了各个模板引擎中,各种功能的支持

nodejs模板引擎的效率对比


本人还是比较喜欢swig的,原因是这种通用风格的模板技术才是跨语言流行的模板技术吧。极大的降低了不同开发环境之间切换的学习成本。

让你轻松过度到不同的后端开发语言中。

就像Django template 和 jinja2 。


找到 0 条评论