From: Sam Roberts Date: 2006-04-30T02:25:31+09:00 Subject: Re: Multiplexed I/O Quoting vladgalu@gmail.com, on Sun, Apr 30, 2006 at 01:24:54AM +0900: > Bottom line, it would be nice if Ruby used whatever the platform > it's running on has (kqueue, epoll, etc) instead of plain select(), > moving the abstraction a bit lower. This should be enough for most > challenges, I think. Probably nobody has ever run into a select scalability problem. select has worked well for many years, its just servers with REALLY large numbers of concurrent connections that have problems, to my knowledge. Look at the ruby src, eval.c:rb_thread_schedule. If you could write a ruby program that hit the select scalability limit before hitting some other kind (like that ruby is pretty slow compared to C), you could rewrite this to use other mechanisms. I suspect that a patch to do so would be accepted for 1.9 if you could demo ruby breaking because it couldn't handle the number of threads/sockets you had open, unless kevent()/epoll() is actually worse than select() in the common case of a few dozen fds. Hopefully that is not the case. Cheers, Sam