On Sep 20, 2007, at 11:06, Wayne E. Seguin wrote:
> On Sep 20, 2007, at 13:40 , Ilmari Heikkinen wrote:
>> And logging touches disk, not like the 10 usec or so spent in  
>> rb_funcall
>> is going to do much difference there :|
>
> Actually the reason that I brought this question up is that I am  
> working on an asynchronous logger for Ruby whose main purpose is to  
> remove the Blocking IO time from the equation in order to greatly  
> speed up production apps running on a POSIX compliant OS.
> The project is on rubyforge as "AlogR" but is not ready to be  
> released just yet.
> Suggestions are most welcome :)

Most of the C functions in IO will allow threads to be switched.   
Eventually they run into rb_thread_schedule().  You can get non- 
blocking IO without writing C code, IO can handle that for you.

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars