パスワードを忘れた? アカウント作成
5887 story

NetBSD におけるlibeventライブラリの統合

ストーリー by Oliver
ライブラリ化のメリットの典型 部門より

BSD 曰く、 " Niels Provos 関係者にあてたメールによると、libeventライブラリをNetBSDのソースツリーへ統合することを予定しているとのことだ。libeventは入出力のイベントやタイマー、シグナルをコールバックによって通知する仕組みを実現する。 その結果、イベント通知及び処理は抽象化され、単純なAPIとして提供されることになる。
つまり、イベント駆動型ソフトのイベントループをlibeventが置き換えるわけである。またその処理において、libeventは自動的に最適なOSのプリミティブを選択するが、これはNetBSDにおいてはpoll(2)やkqueue(2)となる。libeventのコードは小さく、何年にもわたって多くの人々にイベント駆動型のソフトを実現する際に使われてきた。関連する情報は このリンクにあるが、このページのスクリーンショットでkqueueとpollの性能比較を見ることができる( プログラム例もある)。libeventで書かれたプログラムは自動的に最も速いプリミティブを使用するように出来ている。
一般にシグナルハンドラーは少数の安全な関数のみしか呼び出せないことが多い。しかしlibeventの場合、シグナルのコールバックによってプログラムはシグナルハンドラーの信頼性や安全性を心配することなく、全てのlibcの関数を呼び出すことができるのである。このような定型的なコードパターンを書きやすくしてくれるライブラリが充実するのは嬉しいことだと思う。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...