我创建了一个用于比较不同模板引擎性能的测试用例。这是我的测试用例链接:http://jsperf.com/dust-hogan-handlebar-ejs-underscore 我注意到了Dust.js的表现,并对结果感到惊讶。我有疑问:我的测试用例是对的吗?如果它是正确的,那么结果表明Dust的性能是其他模板引擎中最慢的:hogan,下划线......但是有了这个东西,为什么LinkedIn将Dust模板应用到他们的项目中,因为它比其他模板引擎的性能慢得多。 我对此非常好奇,非常感谢你对我这个问题的帮助。
答案 0 :(得分:0)
我也对这个结果感到非常惊讶。问题在于在每次测试中编译模板。在编码良好的javascript浏览器应用程序中,这绝不会发生,因为生产模板应该作为构建脚本的一部分进行预编译。
如果您重构测试以在测试设置部分编译每个模板库的模板,您应该会发现Dust具有更好的性能,甚至可能位居榜首。
此外,在下划线测试中,您在每次测试运行时都会渲染模板两次。