Express会使代码变慢吗?

时间:2017-06-02 23:45:54

标签: javascript node.js express

我听说过为节点服务器使用Express会降低代码速度。从逻辑上讲,考虑到Express在其依赖树的根处有28个依赖项,这是有道理的。

但从统计数据来看,我没有找到任何减慢代码速度的证据。速度与Express与vanilla Node的关系是否类似于jQuery与vanilla JavaScript的速度关系?是否有数字支持或反驳这一点?

编辑:没有人回复了答案有一个实际的答案。如果你对答案感到好奇,我最终还是遇到了它。显然,速度较慢。

Benchmark column graph

如果您想了解有关这些测试的更多详细信息,请参阅此link

基本上,这个人使用每种技术创建了Hello World应用程序,并计算了每个技术每秒填充的请求数量。

2 个答案:

答案 0 :(得分:0)

TL;博士

可能无关紧要。

嗯,从完全实用的角度来看,如果你要自己做饭,那么你将需要非常艰苦的时间来构建和部署服务器"香草节点"。在该过程结束时,您最终会构建您自己的框架,并且您自己将引入依赖项。在一天结束时,您真正要问的是,"我应该使用Express还是构建自己的框架?"

如果您正在构建自己的框架,请务必去做。如果您正在寻找运行Node.js服务器的实用方法,我会坚持使用已经由JavaScript社区构建,测试和彻底批评的框架。

  

速度与Express与vanilla Node的关系是否与jQuery与vanilla JavaScript的速度关系相似?是否有数字支持或反驳这一点?

这并不是真的比较苹果和苹果。唯一有效的比较是使用库/工具/框架或其他人(在专门开发库/工具/框架的业务中)构建它的想法,并且已经过一遍又一遍的测试再次。当然,也许你在使用某些特定的JavaScript函数与使用一个包含在库提供的层中的函数(如jQuery的元素选择方法)之间会有一些毫秒的差异,但是在一天结束时, 微优化的成本与收益可能不值得。

坚持你知道会发挥作用的事情,除非你专门开发能够改进其他现有工具的工具。

最后,如果您真的想知道,请自行运行一些基准测试,使用相同"业务功能的两个版本" (即2个执行相同操作的服务器),一个用" vanilla Node"和一个使用Express。我的直觉说,你会发现非常非常微小的表现差异,其他条件相同。

答案 1 :(得分:0)

轮胎会让汽车变慢吗?从逻辑上讲,考虑到轮胎与道路之间的摩擦,这是有道理的。有些轮胎甚至会增加摩擦力。如果我想要速度和效率,我为什么要这样做!显然,最好的轮胎提供最小的摩擦力。

当然,没有轮胎的汽车不是那么有用吗?而且,在某些情况下,我们可能会选择摩擦力更好的轮胎。虽然加利福尼亚州的人们不需要雪地轮胎,但芝加哥人肯定会这样。

你的问题是荒谬的。你基本上都在问两种用于不同事物的方法之间有什么好处。如果您不需要Express提供的框架,显然不要使用它。如果你这样做......可能最好采用已经过充分测试的框架,但是为了稳定性和性能。

这是关于为工作选择合适的工具。