【问题标题】:JavaScript engine performance benchmarkJavaScript 引擎性能基准
【发布时间】: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


【解决方案1】:

虽然 spidermonkey 和 v8 通常在速度上相当,但 rhino 即使在最高级别的优化下也需要更长的时间。这里有什么问题吗?

这里没有错。 Rhino 就是慢,就是这样。

我调查了标准的 JavaScript 基准测试,但大多数都在浏览器中运行测试。谁能推荐一个命令行版本来测试核心引擎?

Sunspider、Kraken 和 Octane 的源代码(例如 v8 测试套件;它包含在 V8 引擎的源代码中)基准测试可用,因此您可以轻松地在命令行中执行独立测试。

【讨论】:

    猜你喜欢
    • 2011-10-30
    • 1970-01-01
    • 2014-09-06
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 2020-09-27
    相关资源
    最近更新 更多