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不是预编译版本的吧。
下面这张图反应了各个模板引擎中,各种功能的支持

本人还是比较喜欢swig的,原因是这种通用风格的模板技术才是跨语言流行的模板技术吧。极大的降低了不同开发环境之间切换的学习成本。
让你轻松过度到不同的后端开发语言中。
就像Django template 和 jinja2 。
评论
或 匿名发表评论