jsPerf.com Chrome的结果对于node.js基准测试是否可靠?

时间:2012-02-15 16:43:58

标签: javascript node.js performance-testing

我想知道你会考虑将jsperf.com Chrome测试结果用作node.js性能的基准,因为他们都使用的是V8引擎。

3 个答案:

答案 0 :(得分:10)

您可以改用Benchmark.js。它也是jsPerf的强大之处,也适用于Node.js。

答案 1 :(得分:1)

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

  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/

      

    Chromium: 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
      ...

  3. 感谢bentinata发表评论。


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


    获得v8版本

    的方式不太好(旧)
    • 的node.js

        

      node -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(构建系统使用)时,您将找到指向V8版本的链接,即v8.googlecode.com/svn/branches/3.7修订版10521。
      这可以在V8存储库中交叉引用:branches / 3.7& start = 10521。

答案 2 :(得分:1)

我创建了一个工具,帮助我从jsperf.com获取和运行测试:https://github.com/OrKoN/jsperf

例如:

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

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

enter image description here