假设我们每天有数百万个请求。 使用Jade的Node.js中的HTML处理是否比PHP的渲染引擎慢或快? 还是因为差异很小而无所谓?
我将Node.js与Jade模板引擎一起使用,我真的很喜欢。 但是我一直都是担心表现的人。 我从PHP开始了我的开发生涯,这很有趣,但是现在Node似乎要好得多,所以我决定切换。
我使用Jade渲染HTML,因为仅node.js缺少它(我知道这听起来有点愚蠢,因为Jade也是node:P)。 但是由于Jade是Node中的模块,我有点困惑,也许这可能会减慢渲染过程。
测试和测量。;-)
您确实意识到延迟和数据库访问通常是主要瓶颈。 我很想说在v8中模板化要快得多,因为v8只是很快(基准声称比PHP快5到50倍)
@Raynos v8在您使用with语句时是没有用的...:d感谢上帝玉将其删除。 在techempower基准测试中,它比php慢3倍。 希望下次他们使用库的更新版本:-)
Jade不是为速度而设计的,而是为优雅而设计的。如果您真的关心速度,那么还有其他更快的javascript渲染引擎。
查看http://jsperf.com/dom-vs-innerhtml-based-templating/63(请注意,chrome结果与node.js性能非常匹配)
但这一切都假设渲染引擎是瓶颈,而不是数据库。
首先,我知道这是非常古老的,但我想对我的基准进行标记,以帮助其他寻求Jade vs决定的人。自从我卡住选择模板引擎以来,我最近添加了一个比较这两个基准的基准。我选择树枝是因为我已经使用过它,并且从未使用过Jade。我确实喜欢Jade多么简单,并且对于启动"快速的Web应用程序"可能是有益的,但是我已经编写HTML和CSS超过15年了,看到标记使我微笑。
Express-Jade vs Twig基准测试:
Jade模板是内存缓存的,因此第二个请求几乎是立即的。
如果您担心用翡翠来模板化速度,可以使用self选项。
Jade中的视图被编译为实际的Javascript,然后被缓存以备后用。在呈现方面,Jade与呈现以原始Javascript编写的页面一样快。编译时间确实会增加一个初始开销,但是您只需要编译一次代码(最有可能在节点最初启动时)。
欢迎您运行测试,但是基本上每个请求都会解释php(显然memache确实起作用了),而翡翠视图应在内存中完成缓存。