Rewriting Fastr in C

re Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件

C で書き直したら速くなるんだろうな。マルチスレッド化できるし。Opteron@1.4GHz で2,000クライアントなんだから C で書いたら Core 2 Quad @2.6GHz とかで10,000クライアント程度は余裕でいけたりするのかな。

自分だったら CPU の数程度のスレッド作って、accept(2) 時に file descriptor の剰余でどのスレッドに割り振るか決めるようにするかな。そうすればスレッド毎に独立に送受信処理やタイムアウト処理 (with ring buffer of bit arrays) を実行できる。あとは、メッセージの読み書きを lock-free にすべきかどうか、とか。

他の部分がそれで問題ないかは、もう覚えてないけど。