On Fri, Jul 05, 2013 at 08:55:41PM -0700, Estevo wrote:
> >From the docs for the epoll egg:
> 
> "Something I've been considering working on is bindings for libevent. If 
> someone else wants to work on a libevent egg I'm all for it. If no one else 
> does it I will."
> 
> Does Chicken block, by default, on file and network I/O, or does it use 
> something like select/epoll/libev(ent)?

Hello Estevo,

CHICKEN core uses plain POSIX poll(), which is portable.  On Windows, we
currently still use Winsock select(), which is broken for anything but
socket descriptors.

> If the behavior is to just block, do you foresee that using something like 
> libev or libevent would have bad interactions with chicken internals (barring 
> the normal caveats regarding Scheme->C->Scheme ffi callbacks)?

Libevent would simply be an extra dependency for little gain.
poll() is portable and should be fast enough in all but the most
demanding special-case scenarios, and in those cases you'd see much
greater performance improvements by changing the port implementations,
because that's where the bottlenecks are.

Cheers,
Peter
-- 
http://www.more-magic.net

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to