为什么node.js运行时比Google Chrome控制台慢

xam*_*mir 1 javascript performance google-chrome v8 node.js

我们知道Chrome和node.js运行在相同的V8 javascript引擎上.我的理解:

  • Chrome应该很慢,它不仅可以处理内部执行,还可以执行额外的UI工作
  • node.js应该很快,它没有额外的UI工作

所以,比较node.js的V8 javascript的简单速度测试

node.js上的速度测试

使用Chrome的V8

Chrome上的速度测试

为什么node.js比Chrome慢?

顺便说一句,这是代码:

function speedTest(){
    console.time("loop");
    for (var i = 0; i < 1000000; i += 1){
        // Do nothing
    }
    console.timeEnd("loop");
}
Run Code Online (Sandbox Code Playgroud)

msa*_*ord 9

TL; DR从绝对意义上讲,它不是.

首先,这些数字不足以表示真正的性能差异.是的,在这次试验中,它们可能相差25%,但在关注的情况下,它并不重要.

其次,V8是不是做的UI工作在Chrome:合成,渲染,画都是在进程和线程完成专用于该目的:

在此输入图像描述

第三,节点比我的测试中的浏览器更快,在0.5到1毫秒也没有意义.更重要的是,它否定了问题的前提.


sta*_*kas 5

要小心;

  • console.log定时器和javascript中的定时器不太精确

  • 节点V8上有更多功能,比如fs

  • 我不认为UI与V8有关