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