On Wednesday 30 July 2008 00:33:53 ara.t.howard wrote: > > On Jul 29, 2008, at 10:33 PM, David Masover wrote: > > > 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.) > > DRb handles references. DRbUndumped provides a means to pass > references to remote objects around. Alright. What if I send a complex datastructure? Strings, I can live with, but what about multidimensional arrays? > > 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.) > > no doubt that's true. processes can help you now though - especially > since threads don't scale right now in ruby with multi processor > machines. I believe work is going on to make Threads scale in 1.9 -- current 1.9 still has a GIL, though. They do scale in JRuby, and probably in IronRuby (haven't tried). > > 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. > > > sure, but if you want to burn up processors you simply have to use > processes attm. Or I could use JRuby. Or IronRuby. I don't want to burn up processors atm. I want to build an architecture which will be able to burn up processors in the future. I want to solve concurency on a single machine once and be done with it -- without having to use Erlang. > http://groups.google.com/group/ruby-talk-google/browse_thread/thread/b4e346478eeeead4/0cbc4a86f2237476?lnk=gst&q=threadify+jruby#0cbc4a86f2237476 From that link: "the sync overhead is prohibitive for in memory stuff" I am, specifically, interested in doing in-memory stuff. If I can solve that problem, I'm not as worried about the network stuff, especially as others have already solved that well enough (DRb and friends).