jsPerf.com Chrome浏览器的结果对于Node.js基准是否可靠?
我想知道你会怎样考虑使用jsperf.com Chrometesting结果作为node.js性能的基准,因为它们都使用V8引擎。
您可以改用Benchmark.js 。 这是什么力量jsPerf和Node.js工作以及。
我认为你必须考虑由chrome / ium和node.js使用的不同版本的v8。
-
获取当前节点安装的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'} -
在你当前的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的修订号。 结果是这样的: