当用作Node.js的JS引擎时,微软的ChakraCore是否比Google的V8提供任何性能优势

[ 我已经编辑了我的问题来缩小场景只有Node.js. 请重新打开它。 这是一个有用的问题,恰当的答案可能会在未来,而不是在ChakraCore还处于非常年轻的时候。 但这个问题是有效的,应该在这里 ]

我们都知道/阅读/听说过Google的V8引擎的辉煌 ,以及它如何使node.js成为它的美丽多年。

但现在我们可以select微软的ChakraCoreGoogle的V8作为我们的首选JavaScript引擎, 我想知道是否有人有任何证据,或者testing他们发现哪一个比nodejs更高效

请回答一些事实和结果,因为有人不应该使用/select脉轮只是因为他/她爱微软或同样适用于V8和谷歌。

谢谢。

他们有什么不同?

鉴于大多数现代JavaScript引擎将所有 JavaScript代码翻译成高效的机器码( 源码 ),Chakra拥有一个智能且高性能的解释器 。 这个解释器具有智能启发式function,可以决定是将代码编译成机器码还是解释它。 一个解释器通常开始更快,需要更less的内存运行,这使得Chakra对于资源受限的环境(如Raspberry Pi )非常有吸引力。

2015年,微软推出了支持使用Chakra的Node.js,以便开发人员能够定位Windows IoT Core平台 。 ChakraCore最近的开源使微软得以开放开发,并更好地与Node.js发布时间表保持一致。

在最近的一个JavaScript Air剧集中Steve Lucco提到Chakra团队正在计划“认真对待社区,认真对待引擎的发展方向,并给社区以更多的投入,例如,他们已经在V8的方向“

为了努力构build一个高效率的JavaScript引擎,微软实际上已经构build了一个具有竞争力的快速的引擎。 在写这篇文章的时候,Chakra在某些情况下胜过了 V8:

基准testing并不一定是现实世界的性能指标,但是这种虚拟机性能的竞争将最终为所有虚拟机的用户带来更快的Node.js运行时间。

另外值得一提的是,拥有自己的JavaScript引擎可以让微软自由创新。 一个早期的创新就是时间旅行debugging

他们有什么不同?

那么这个问题有点太广泛,目前的格式,但我会尽力回答。

Google的V8引擎具备了所有必须具备快速性能的function。 所以,基本上这个是nodejs的基础已经有一段时间了,而且会长期存在。

另一方面, 微软的ChakraCore也得到了积极的发展,并且与Chakra ShimChakraCore有两层结构(无法命名)
需要注意的是, Chakra Shim 实现了最基本的V8 API,因此底层JavaScript引擎的变化对于为V8编写的Node.js和其他本地插件模块是透明的。

来源:NodeJs-ChakraCore

对于OP:寻找webassembly 。