我想知道你会考虑将jsperf.com Chrome测试结果用作node.js性能的基准,因为他们都使用的是V8引擎。
答案 0 :(得分:10)
您可以改用Benchmark.js。它也是jsPerf的强大之处,也适用于Node.js。
答案 1 :(得分:1)
我认为你必须考虑v8的不同版本,它们由chrome / ium和node.js使用。
获取当前节点安装的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/
:
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
...
感谢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是此处的修订号。结果是这样的: