aio
指摘を受けたので(あざーっす!)、言葉の整理のためちと調べてみました。 Synchronous I/O OperationとAsynchronous I/O Operationの定義 POSIXによれば、このように定義されています。 3.378 Synchronous I/O Operation An I/O operation that causes the t…
実装が2つある。以下、あくまで今の時点でのLinuxの場合の状況/実装のおはなし。 POSIX aio aio_read(3) とか aio_write(3), aio_error(3), aio_return(3) とか。 インターフェースはPOSIXで定義されているのと同じ。 システムコールじゃなくてライブラリ関…
lighttpd-1.5.0 (PRE RELEASE) Linux:libaioが使われる FreeBSD:POSIX aioが使われない nginx Linux:POSIX aio (だと思う) FreeBSD:POSIX aioが使われる(SIGEV_KEVENT)
(id:hirose31:20070719:1184773995 の続き)できた。 my_aiocb.aio_sigevent.sigev_notify = SIGEV_KEVENT を使えばおk その名の通り、kqueue + kevent を組み合わせて非同期I/Oできたす。 必要な大きさのstruct kevent *をまろっくして kqueue()をこさえて…
(id:hirose31:20070714:1184341432 の続き)aio (aio_readとかaio_errorとかaio_returnとか) の習作中。developerWorksのBoost application performance using asynchronous I/Oのサンプルコードに毛が生えた程度の超絶シンプルなコードがLinuxでとりあえず…
現在PRE RELEASEのlighttpd 1.5系でも使われているAIOなんですが、どうもチュートリアル or サンプルコード的な資料がすくないです。いまのところ、 Boost application performance using asynchronous I/Osynchronous/asynchronous、blocking/non-blocking…