相关疑难解决方法(0)

node.js如何比c和java更快?基准比较node.js,c,java和python

我做了一个非常简单的基准测试程序,用4种不同语言计算高达10,000,000的所有素数.

  • (2.97秒) - node.js(javascript)(4.4.5)
  • (6.96秒) - c(c99)
  • (6.91秒) - java(1.7)
  • (45.5秒) - 蟒蛇(2.7)

以上是每次平均3次运行,用户时间

Node.js运行速度最快.这让我很困惑,原因有两个:

  1. javascript总是对变量使用双精度浮点数,而c和java在这种情况下使用(长)整数.带整数的数学应该更快.
  2. 当javascript实际上是一种及时编译的语言时,javascript通常被称为解释.但即便如此,JIT编译器如何比完全编译的语言更快?python代码运行速度最慢,这并不奇怪,但为什么node.js代码的运行速度与python类似?

我用-O2优化编译了c代码,但我尝试了所有级别的优化,并没有产生显着的差异.

countPrime.js

"use strict";

var isPrime = function(n){
    //if (n !== parseInt(n,10)) {return false};
    if (n < 2) {return false};
    if (n === 2) {return true};
    if (n === 3) {return true};
    if (n % 2 === 0) {return false};
    if (n % 3 === 0) {return false};
    if (n % 1) {return false};
    var sqrtOfN = Math.sqrt(n);
    for (var i = 5; …
Run Code Online (Sandbox Code Playgroud)

c python java node.js

14
推荐指数
1
解决办法
3596
查看次数

node.js是否可以编译JavaScript?

Node.js使用V8,并将JavaScript编译为优化策略。

那么,通过node.js / V8在服务器端运行的JavaScript是经过编译还是解释?

javascript v8 node.js

5
推荐指数
2
解决办法
2569
查看次数

标签 统计

node.js ×2

c ×1

java ×1

javascript ×1

python ×1

v8 ×1