go python c node.js javaのパフォーマンス

go python c node.js javaのパフォーマンス

goを使用するメリットとして一番最初に思いつくのはパフォーマンスです。そこで、簡単なプログラムで比較してみました。(プログラム自体は適当です)

 

Go言語 golang:

結果:

>powershell -C (Measure-Command {.\hello.exe}).TotalSeconds
11.6578298

 

 

C言語 (MinGW gcc -O3):

 

結果:

>powershell -C (Measure-Command {.\a.exe}).TotalSeconds
19.1138693

 

 

Node.js:

 

 

>powershell -C (Measure-Command {node hello.js}).TotalSeconds
33.696455

 

Python:

 

 

Java:

 

>powershell -C (Measure-Command {java hello}).TotalSeconds
11.2736181

 

 

結論

一応、この計測ではjavaとgoがほぼ互角となりました。やはり、Javaは早いみたいですね。Goも早いですね。
(ただ、Javaはループは早くても少し大きなプログラムだと、起動時間が遅くメモリの使用量が凄いのは、みなさん体感している通りだとは思いますが)

Node.jsも内部ではネイティブにコンパイルされているとは言いますが、java/go/cにはかなわないみたいです。これは言語仕様の問題だと思われます。なお、pythonは本当に遅いです。

 

1位 Java: 11秒
2位 go: 11秒
3位 c (gcc -O3): 19秒
4位 Node.js: 33秒
5位 Python: 計測不能(数時間待っても終らないので終了)

 

今後は、速度を求めるのであれば、goかKotlin (java VM上で動作する)が良さげかなというのが個人的な結論ですね。

 

 

 

コメントを残す