Mac OS X で Nodejs と C++ のパフォーマンスをテストするために、同じプログラムを作成しました。
最初に C++ で:
#include <iostream>
#include <time.h>
using namespace std;
int main() {
clock_t t1, t2;
cout << "Initializing\n";
t1 = clock();
double m = 0;
for (double i = 0; i != 10000000000; ++i) {
m = i * -1 + i;
}
t2 = clock();
float diff = (((float) t2 - (float) t1) / 1000000.0F) * 1000;
cout << "Finalizing with " << diff << "ms\n";
}
Nodejs の 2 番目:
console.log("Initializing");
t1 = Date.now();
var m = 0;
for (var i = 0; i != 10000000000; i++) {
m = i * -1 + i;
}
t2 = Date.now();
var diff = t2 - t1;
console.log("Finalizing with %dms", diff);
結果は、C++ で 50000 ミリ秒、Nodejs で 22000 ミリ秒でした。
その種の操作で Nodejs が高速なのはなぜですか?
ありがとう。
アップデート:
double を切り替えて long int を使用すると、Nodejs のように 22000ms になりました。