chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] I/O blocking?


From: Peter Bex
Subject: Re: [Chicken-users] I/O blocking?
Date: Sat, 6 Jul 2013 14:25:09 +0200
User-agent: Mutt/1.4.2.3i

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]