From: David Masover Date: 2008-07-30T13:33:04+09:00 Subject: Re: Concurrent Ruby? On Tuesday 29 July 2008 12:13:53 ara.t.howard wrote: > > On Jul 29, 2008, at 10:00 AM, David Masover wrote: > > > I'm trying to figure out how to at least partly duplicate the semantic > > advantage in Ruby, but it's not easy -- I'm stuck either #freeze-ing > > everything, or wrapping every message in an actor of its own, and both > > approaches seem more obnoxious and error-prone than forcing the > > developer to > > deal with it. > > fan out multiple processes with a message queue each - easy to do with > drb. That implies a full copy (I think), which isn't always what's needed. Without actually testing your implementation, what happens when I send, say, a reference to an actor? (Kind of an essential feature.) And without actually doing any benchmarks (how's that for naive?), I still find it hard to believe that DRb+Queue would scale better than Thread+Queue, for large numbers of actors. (Keep in mind, it's not unusual for an Erlang program to have thousands of processes.) Given that I still have a vague hope that YARV will eventually remove the GIL, I'd rather stick to Threads, if I can make them safe.