performance - 在express中使用nodejs可以采取哪些措施来提高jade模板渲染性能

标签 performance node.js express pug

背景

jade 语法很棒,但我想看看它是如何影响性能的。

所以我创建了一个单页应用程序并使用 apache bench 来比较它的吞吐量,使用 Jade 来呈现页面与使用内存中的字符串。没有变量,所以这只是一个纯粹的学术比较。

内存中的字符串使整个应用程序在本地速度提高了一倍以上,考虑到生产模式下的 Jade 应该从内存缓存中渲染,这似乎很重要。

我在生产模式下使用 Node 0.8 和 express 的 2.5.11 版本, View 缓存选项显式设置为 true

apache bench 结果: https://dl.dropbox.com/u/3737990/jade/jade.png https://dl.dropbox.com/u/3737990/jade/memory.png

最佳答案

正如 Harry 所提到的,将模板引擎的性能与发送字符串的性能进行比较是没有意义的,因为它们解决了两种不同的需求。这有点像比较两辆车的 MPG,除了一辆车你只是把它放到空档让它滚下山。

相反,compare templating engines 更有帮助。 ,因为它们都是达到相同目的的手段(动态呈现的 HTML)。

在这里我们看到 Jade 是最慢​​的模板语言。造成这种情况的原因可能有很多因素,但核心问题是 Jade wasn't designed for speed .如果您需要极高的性能,doT专为速度而设计。

关于performance - 在express中使用nodejs可以采取哪些措施来提高jade模板渲染性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11343302/

相关文章:

c++ - pow(x, 0.5f) 的快速实现是否比快速 sqrt(x) 更快?

c++ - 在一个简单的例子中解释并行代码执行和进一步的性能提升

node.js - 如何根据 Excel 值多次运行 Protractor Spec

javascript - 按列名排序

javascript - 如何将变量从路由传递到 server.js

mysql - SQL如何获取不包含产品的类别?

c++ - 获取 sqrt(n) 整数部分的最快方法?

javascript - 我可以组合 API/values 和 API/values/:id in 1 route file?

javascript - 在 node.js 中转换 itune XML 播放列表时遇到问题

javascript - Mongoose:更新文档中的数组不起作用