【发布时间】:2015-11-27 09:09:21
【问题描述】:
我用下面的简单程序简单测试了这三个引擎(rhino/spidermonkey/v8):
function p(n) {
for (var i = 2;i * i <= n;i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
var sum = 0;
for (var k = 2;k < 10000000;k++) {
if (p(k)) {
sum++;
}
}
print(sum);
并得到以下结果:
$ time rhino -O 9 sample.js
664579
real 0m40.495s
user 0m40.793s
sys 0m0.180s
$ time js sample.js
664579
real 0m9.465s
user 0m9.477s
sys 0m0.000s
$ time d8 sample.js
664579
real 0m8.941s
user 0m8.943s
sys 0m0.000s
虽然 spidermonkey 和 v8 通常在速度上相当,但 rhino 需要更长的时间 即使是最高级别的优化。这里有什么问题吗?
我调查了标准的 JavaScript 基准测试,但大多数都在浏览器中运行测试。任何人都可以 请推荐一个命令行版本来测试核心引擎?
【问题讨论】:
-
只是好奇,你试过nashorn吗?它应该胜过犀牛。
标签: javascript v8 rhino spidermonkey