超エコで超高速なやつらの性能比較: 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
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 事例
-
LinkedInの事例: Ruby Rails から Node.js
http://www.infoq.com/jp/news/2012/10/Ruby-on-Rails-Node-js-LinkedIn -
PayPalの事例: Java から Node.js
http://www.infoq.com/jp/news/2014/01/paypal-java-javascript -
アメーバピグ, ピグライフ
http://www.slideshare.net/akuwano/ss-8876695
http://ameblo.jp/ca-1pixel/entry-11476850674.html
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=001987 -
Node.js について知っておくべきこと
この記事を読んで、同感だなぁ... と思った。
そうなんだよ。他の言語じゃダメなんだよ。
というか他の仕組みじゃダメなんだよ。
という事でこの記事を書いています。 -
Life is beautiful - node.js と thread hog の話
以前、これ読んでうれしくなった。
・Life is beautiful - node.js と thread hog の話(1)
・Life is beautiful - node.js と thread hog の話(2)
・Life is beautiful - node.js と thread hog の話(3)
・Life is beautiful -
Node.jsはC10K問題を解決する銀の弾丸か
他の言語で C10K サーバを実装してみるとどれだけ苦労するのかがわかり
Node.js がどれだけ簡単に記述できるのかわかると思うよ。 -
自分でも Node.js で C10K サーバ書いてみた
大体 16000 までくらいなら接続できる様だ。C16K だね。
また別記事書く予定。