jsPerf.com Chrome浏览器的结果对于Node.js基准是否可靠?

我想知道你会怎样考虑使用jsperf.com Chrometesting结果作为node.js性能的基准,因为它们都使用V8引擎。

您可以改用Benchmark.js 。 这是什么力量jsPerf和Node.js工作以及。

我认为你必须考虑由chrome / ium和node.js使用的不同版本的v8。

  1. 获取当前节点安装的v8版本:
    npm --versions列出节点生态系统的版本,包括v8的版本:

    weemonger @ awesomeLinuxDistro:〜$ npm –versions
    {npm:'2.11.3',
    http_parser:'2.3',
    模块:“14”,
    节点:“0.12.7”,openssl:“1.0.1p”,
    uv:'1.6.1',
    v8:'3.28.71.19'
    zlib:'1.2.8'}

  2. 在你当前的chrome / chromium中获取v8的chrome://version/在你的地址栏inputchrome://version/

    铬: 38.0.2092.0(Entwickler-Build 282911)
    Betriebssystem: Windows (不是很棒的操作系统)
    闪烁: 537.36(@ 178012)
    JavaScript:V8 3.28.21
    Flash: 20,0,0,235
    User-Agent: Mozilla / 5.0(Windows NT 6.1; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 38.0.2092.0 Safari / 537.36

荣誉bentinata的评论。


但更安全的方法是在您的特定环境中进行基准testing(请参阅John-David Daltons的答案 )。


不是很好(旧)的方式来获得版本的V8

  • 的node.js

    节点-e“console.log(process.versions.v8)”
    https://stackoverflow.com/a/10264593/3346021

  • 铬/铬
    请参阅Ariya Hidayats Blog以确定chrome / ium使用的v8版本。

    首先,查看Chromium Subversion版本库的发行版分支,可以在src.chromium.org/viewvc/chrome/releases浏览。
    现在是检查正确版本的问题。 在写这篇文章的时候,我的谷歌浏览器版本号为17.0.963.46。
    当查看文件17.0.963.46/DEPS(由Gyp,构build系统使用)时,可以find正确版本的V8的链接,即v8.googlecode.com/svn/branches/3.7 revision 10521。
    这可以在V8存储库中进行交叉引用:branches / 3.7&start = 10521。

我创build了一个工具,帮助我从jsperf.com获取并运行testing: https : //github.com/OrKoN/jsperf

例如:

 jsperf get replace-vs-split-join-vs-replaceall 67 jsperf run replace-vs-split-join-vs-replaceall 67 

这里是67的修订号。 结果是这样的:

在这里输入图像描述