Node应用程序如何选择JS引擎

小编给大家分享一下Node应用程序如何选择JS引擎,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联是一家专业提供三元企业网站建设,专注与成都网站设计、成都网站建设、外贸网站建设H5页面制作、小程序制作等业务。10年已为三元众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

Node.js 正在飞速的发展。目前 Node.js 8 已经发布。同时,基于 ChakraCore 的 Node.js 版本也正在积极开发中。

这里的 V8 不是 javascript 引擎 V8,而是 Node.js 的版本。但是在 Node.js 官方博文 Node v8.0.0 (Current) 中有一段注释:

Note that, when referring to Node.js release versions, we have dropped the "v" in Node.js 8. Previous versions were commonly referred to as v0.10, v0.12, v4, v6, etc. In order to avoid confusion with V8, the underlying JavaScript engine, we've dropped the "v" and call it Node.js 8.

请注意,当引用 Node.js 发布版本时,我们已经在 Node.js 8 中删除了 “v”。以前的版本通常被称为 v0.10,v0.12,v4,v6 等。为了避免与 V8 JavaScript 引擎混淆,我们放弃了 “v” 并将其称为 Node.js 8。
所以,Node.js v8 版本应该直接称为 Node.js 8。

由于 Node.js 使用的 JavaScript引擎不知道什么时候会引入新功能,开发者们都像明确的知道不同引擎在性能方面的性能优劣。

我们对以下几个 Node.js 版本做了性能评估:

  • Node.js 6.10.1 (V8 5.1.281.95)* Node.js 7.10 (V8 5.5.372.43)
  • Node.js 7.10 使用 --turbo --ignition 参数 (V8 5.5.372.43)
  • Node.js 8.0 (V8 5.8.283.41)
  • Node.js 8.0 使用 --turbo --ignition 参数 (V8 5.8.283.41)
  • Node.js 8.0 (ChaKraCore 2.0.0.0) (使用 2 种不同的构建版本)

你可以通过这个简单的 可视化工具 查看不同版本对于不同特性的性能。

在这些结果中,如果你使用的是 Node.js 8,你还可以查看开启 --turbo --ignition 参数后的 javascript 性能。

Context

虽然 V8 是 Node.js 使用的默认 JavaScript 引擎,但是 Node.js 提供了一个通用的平台,允许开发者选择不同的 JavaScript 引擎。

Node.js 8 的发布非常令人兴奋,并且是社区内的一件大事。该平台已附带一套全新功能。此外,开发者最关注的就是性能。

了解哪种 JavaScript 引擎最适合运行应用程序将成为一项非常有用的技能。 在本文中,我们将看到 V8 和 ChakraCore 的不同版本在性能方面的优劣。

方式

要比较不同 Node.js 版本之间的基准测试,我选择了有代表意义的 35 种 JavaScript 代码模式。他们中的大多数都是从 Colin Ihrig’s ‘will it optimize’ 的 repo 中获取的。这些模式已经在前面的文章(Optimize your Node app by simply upgrading Node.js)中讨论过了。

对于每个模式,分别使用了每个不同版本的 Node.js 运行 10 次、100 次、1000 次、10000次和 10000 次。 通过允许这些代码,我们呢可以了解每个引擎如何进行运行时常规优化和热函数(hot function)优化。

基准测试没有考虑垃圾收集(GC)事件的数量。 这意味着如果修改分配给每个进程的内存,则实验的结果可能会不同。

结果

Node应用程序如何选择JS引擎

在 这个页面 可以查看完整的测试结果。通过分析这个结果,我们可以发现 ChakraCore 的 Node.js 版本比基于 V8 的版本慢。

此外,在大多数情况下,随着时间的迁移 V8 变得越来越高效。Ignition 和 Turbofan 优化架构很显著地提升了性能。 Node.js 8 随 V8 5.8 发布,但是 默认并没有启用。 Node.js 的未来版本将随着启用了 Ignition 和 Turbofan 的 V8 5.9(也可能是 5.6)一起提供。

以上是Node应用程序如何选择JS引擎的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享文章:Node应用程序如何选择JS引擎
新闻来源:http://myzitong.com/article/gdhcdp.html