search
LoginSignup
172
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

超エコで超高速なやつらの性能比較: Go vs Node.js (vs Vert.x)

超エコで超高速なやつらの性能比較: Go vs Node.js (vs Vert.x)

今時のWebで大量接続で高負荷になりそうなサイトを作りたい人は必見。
スタートアップ起業が選ぶなら、こういう言語やフレームワークを選ぶべき。
人気が出て急激な負荷に耐えられる様に、最初から正しいアーキテクチャを選んでね。
妙なやつを選んだらサーバはたくさん必要だし、クラウドでも費用が高くなるし大変だよ。

Node.js vs Go の記事を読んだのでこの記事を書いています。
http://yosuke-furukawa.hatenablog.com/entry/2014/02/10/134014
https://speakerdeck.com/yosuke_furukawa/benchmarking-node-dot-js-vs-golang
http://sssslide.com/speakerdeck.com/yosuke_furukawa/benchmarking-node-dot-js-vs-golang

Go_Node_Vert.png

Go

Go 速いっスねぇ。
やっぱりコンパイラだね。
Goroutine とかが効いているんだろうな。
結構エコだと思う。
プログラマが少ないのがちょっと気になる。
C/C++ でやるよりは Go をお勧めします。
メモリーリークさせるより GC で解決する方が今時だよね。

Node.js

でもしばらく Node.js で行きたいかな。
JavaScript プログラマはいっぱいいるし。
簡単でエコだと思う。
ES6 がデフォルトで動く node v4/v5 を使うといいかな。
ES6 generators/yield を使った aa や co とか koajs が革命を起こすと信じている。
(ES7 async/await を ES6 generators/yield と aa/co で実現できる)
co-monk (MongoDB) もちゃんとやってみたいね。
(coroutine の co ね, async-await の aa ね)
コールバック地獄に陥っている人、是非注目してね。
他の言語の yield と同じと思っている人は大間違いだよ。
スレッドをほとんど使わないのが超エコなんだよね。

Vert.x

Java VM が好きな人は Vert.x でやってね。
Java, JavaScript, Ruby, Python プログラマはたくさんいるし
既存のライブラリも呼べていいと思う。
Groovy もあるし Scala, Clojure, とかもそのうち。
で、しっかりとエコだと思う。
Java 8 以降がいいかな。
Lambda 式とか使えるし。

Go も Vert.x も速いね

Go 速い

Vert.x も速い

参考: Go 関係

http://www.slideshare.net/derekcollison/go-conference-japan
http://www.slideshare.net/mgiglesias

参考: Node.js 事例

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
172
Help us understand the problem. What are the problem?