PythonとNode.jsの処理速度を比較しました

最近話題のサーバサイド言語、PythonとNode.jsについて、単純に速度を比較してみました。結論としてはPythonの方が速いという結果が得られました。

Pythonの検証用プログラム

#-*- using:utf-8 -*-
import time

if __name__ == '__main__':
    start = int(time.time()  * 1000)
    for i in range(0,1000000):
        time.time()
    elapsed_time = int(time.time()  * 1000) - start
    print ("処理時間:{0}".format(elapsed_time))

100万回のループ処理です。
何も処理を入れないと一瞬で終わってしまうので、現在時刻を取得する処理を入れています。

Node.jsの検証用プログラム

var start_ms = new Date().getTime();
for (var i = 0; i < 1000000; i++) {
    new Date().getTime();
}
var elapsed_ms = new Date().getTime() - start_ms;
console.log('処理時間:' + elapsed_ms);

こちらも同じような処理を実装しています。

速度比較しました

Pythonの処理時間はおよそ90ミリ秒でした。

対する、Node.jsの処理時間は150ミリ秒です。

単純に計算するとPythonはNode.jsより160%速いです。

ただし、プログラムを比較すると、Node.jsの方は毎回Dateオブジェクトのインスタンスを生成してから、現在時刻を取得しています。インスタンスを生成するコストで若干不利になるのかもしれません。

もうちょっと、良い比較方法があれば教えてください。