On 3/7/07, Toby Douglass <toby.douglass@xxxxxxxxxxxxxx> wrote:I'm not familiar with libevent, but if it actually has callers waiting, in
a sleep, for events to occur, then all the event handling under Win32 will
need to be rewritten to use I/O completion events. I think it is not
possible to use IOCP in conjunction with normal Wait() type functions,
which I suspect libevent must ultimately rest upon.
for the amount of email that you have sent to the libevent mailing list, it's surprising that you don't know more about it.
lol! :-)
Libevent provides notifications for non-blocking IO. That means that there are no callers waiting in sleep. Any processing using a libevent-like frameworks is done via callbacks. Each callback is assumed to be non-blocking and fast to complete.
Nick's suggestion about investigating the bufferevent layer in libevent seems very reasonable. There are quite a few low-hanging fruits for optimization.
Okay. I'll have another stab at the libevent code.