タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

GHCとHaskellに関するt_43zのブックマーク (1)

  • Haskellでサーバーを書く - あどけない話

    Haskellでメール関連のサーバーを書いていて、いろいろ調べました。かなりがっかりな結果ですが、包み隠さず書きます。 forkIO forkIO でユーザースレッドを作ると、内部では select() を使います。select() はファイル記述子を 1024 までしか扱えないという壁があって、使い物になりません。(せめて poll() を使って欲しいなぁ。) 世の中には行儀が悪いクライアントが多く、コネクションをリセットします。すると、ハンドルが失われ、明示的に hClose できません。ですから、ソケットの開放は、ガベージコレクション任せとなります。結局、1024 個のソケットを簡単に使い切ってしまうということです。 追記:GHC のガベージコレクションは優秀で、ソケットはすぐに回収されることが分かりました。 forkOS forkOS ではカーネルスレッドを作ります。内部では pt

    Haskellでサーバーを書く - あどけない話
  • 1