Shibuya.pm テクニカルトーク #12 で発表してきました

果たしてPHPPythonの人が行っていいのかどうか、しかも発表はGoの話でPerl関係ないしって感じで、微妙なアウェイ感でした。というか最近どこで喋ってもアウェイ感があるわけですが。

※実際に作ってみたサーバのソースコードはこれです:
http://d.hatena.ne.jp/moriyoshi/20091111/1257929640


Go の知識がある程度あることを前提にスライドを作ってしまったので、「Goroutineって何?」「チャネルって何?」というように意味不明だったところはあるかと思いますが時間の都合です。勘弁を。

オーガナイザの id:TAKESAKO さん、会場のリクルートさんどうもありがとうございました。

2次会で、id:gfxid:tokuhiromPerl の内部構造について語ったのが楽しかった。Perl interpreter のマクロ使いは PHP より遥かにマシだと思う。

追記: スライド中で「GOMAXPROCSを上げても効果がないのはローカルだから?」と言った部分については。確かに同一ノードの通信ではコンテキストスイッチこそ発生してもI/O待ちが事実上ほとんど発生しないからということもあるだろうけど、やはりボトルネックになっているのはpoll serverだと思われる。もしpoll serverがなければ、各スレッドがそれぞれのセッションを担当するということになり、あっというまにworker threadが枯渇してしまいますから、あのような実装になるのは仕方ない部分もありますが。