[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Announcing Revactor: an Actor model implementation for Ruby 1.9

Tony Arcieri

1/21/2008 7:14:00 AM

[Note: parts of this message were removed to make it a legal post.]

I'm pleased to announce the initial public availability of Revactor, an
Actor framework for Ruby 1.9. The Actor model has seen increasing popularity
in languages like Erlang and Scala. Revactor adds asynchronous message
passing to the Fibers mechanism, easing the development of concurrent
programs using them. You can read more about the Actor model here:

http://re.../p...

Revactor also includes a high performance sockets API, largely compatible
with Ruby's own, but which also seamlessly interoperate with the Actor API.
Using this approach means you can simultaneously process messages from both
sockets and other Actors. Furthermore, with a small amount of monkeypatching
it's able to run Mongrel, using Actors instead of threads as the underlying
concurrency mechanism. Initial tests of the performance of Mongrel on top of
Revactor surpass the threaded version.

Revactor is available as a gem and can be installed with:

*gem install revactor*

For additional information please see the web site:

http://re...
--
Tony Arcieri
ClickCaster, Inc.
tony@clickcaster.com

24 Answers

Chauk-Mean P.

1/21/2008 9:35:00 AM

0

Hi,

Tony Arcieri wrote:
> I'm pleased to announce the initial public availability of Revactor, an
> Actor framework for Ruby 1.9. The Actor model has seen increasing
> popularity
> in languages like Erlang and Scala. Revactor adds asynchronous message
> passing to the Fibers mechanism, easing the development of concurrent
> programs using them. You can read more about the Actor model here:
>
> http://revactor.org/p...
>

It sounds very interesting. I will take a look at it.

Chauk-Mean.
--
Posted via http://www.ruby-....

Chauk-Mean P.

1/21/2008 10:10:00 AM

0


> Tony Arcieri wrote:
>> I'm pleased to announce the initial public availability of Revactor, an
>> Actor framework for Ruby 1.9. The Actor model has seen increasing
>> popularity
>> in languages like Erlang and Scala. Revactor adds asynchronous message
>> passing to the Fibers mechanism, easing the development of concurrent
>> programs using them. You can read more about the Actor model here:
>>
>> http://revactor.org/p...
>>
>
> It sounds very interesting. I will take a look at it.
>
> Chauk-Mean.

Oops. Revactor requires Rev which requires libev.
I'm on Windows and compiling Rev and libev is not an obvious/easy task.
I will try to have a look on a Linux machine.

Chauk-Mean.
--
Posted via http://www.ruby-....

Eivind Eklund

1/21/2008 12:57:00 PM

0

On Jan 21, 2008 8:13 AM, Tony Arcieri <tony@clickcaster.com> wrote:
> I'm pleased to announce the initial public availability of Revactor, an
> Actor framework for Ruby 1.9. The Actor model has seen increasing popularity
> in languages like Erlang and Scala. Revactor adds asynchronous message
> passing to the Fibers mechanism, easing the development of concurrent
> programs using them. You can read more about the Actor model here:
>
> http://revactor.org/p...

I noticed this use the Case gem to match patterns. Compared to what
you detail, you should be able to get even more flexibility for at
least some cases by using the matching framework that's in types.rb -
http://people.freebsd.org/~eivind/r...

Eivind.

Jay Levitt

1/21/2008 2:14:00 PM

0

On Mon, 21 Jan 2008 02:13:42 -0500, Tony Arcieri wrote:

> I'm pleased to announce the initial public availability of Revactor, an
> Actor framework for Ruby 1.9. The Actor model has seen increasing popularity
> in languages like Erlang and Scala. Revactor adds asynchronous message
> passing to the Fibers mechanism, easing the development of concurrent
> programs using them. You can read more about the Actor model here:

Tony,

You are doing wicked cool stuff with 1.9. This is very exciting. Please
keep doing it.

--
Jay Levitt |
Boston, MA | My character doesn't like it when they
Faster: jay at jay dot fm | cry or shout or hit.
http://... | - Kristoffer

Apple

1/21/2008 2:17:00 PM

0

This is very nice. Given Ruby's flexibility, I know sooner or later
there's bound to be a ruby implementation of Erlang's message passing
system (more elegant and pragmatic, hopefully). Hell, even Matz wants
one. May I suggest a few more examples in the RDoc to highlight the
cooperations of actors? They would probably help deepen imaginations
for a beginner like me. Meanwhile I'll keep poking at it until I find
my ha-ha moment (hopefully soon). Thanks for your contribution. Keep
up the good work!

p.s. I know Ruby1.9 is fast, but I didn't think it'd catch on this
fast!

David

Joel VanderWerf

1/21/2008 7:28:00 PM

0

Tony Arcieri wrote:
> I'm pleased to announce the initial public availability of Revactor

Any plan to support UDP sockets? (A quick scan of the source seems to
indicate that it doesn't yet.)

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Tony Arcieri

1/21/2008 7:58:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Jan 21, 2008 5:57 AM, Eivind Eklund <eeklund@gmail.com> wrote:

> I noticed this use the Case gem to match patterns. Compared to what
> you detail, you should be able to get even more flexibility for at
> least some cases by using the matching framework that's in types.rb -
> http://people.freebsd.org/~eivind/ruby/types/<http://people.freebsd.org/%7Eeivind/ruby/...
>

Interesting. Any plans on releasing this as a gem?

--
Tony Arcieri
ClickCaster, Inc.
tony@clickcaster.com

Tony Arcieri

1/21/2008 8:09:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Jan 21, 2008 12:28 PM, Joel VanderWerf <vjoel@path.berkeley.edu> wrote:

> Any plan to support UDP sockets? (A quick scan of the source seems to
> indicate that it doesn't yet.)
>

Yes, there will eventually be a Revactor::UDP module as a counterpart to the
TCP one. This isn't a particularly high priority at the present time,
though.

--
Tony Arcieri
ClickCaster, Inc.
tony@clickcaster.com

Eivind Eklund

1/22/2008 6:45:00 AM

0

On Jan 21, 2008 8:58 PM, Tony Arcieri <tony@clickcaster.com> wrote:
> On Jan 21, 2008 5:57 AM, Eivind Eklund <eeklund@gmail.com> wrote:
>
> > I noticed this use the Case gem to match patterns. Compared to what
> > you detail, you should be able to get even more flexibility for at
> > least some cases by using the matching framework that's in types.rb -
> > http://people.freebsd.org/~eivind/ruby/types/<http://people.freebsd.org/%7Eeivind/ruby/...
> >
>
> Interesting. Any plans on releasing this as a gem?

I can do a gem release if you're interested in using it.

Eivind.

Tony Arcieri

1/22/2008 6:59:00 AM

0

[Note: parts of this message were removed to make it a legal post.]

On Jan 21, 2008 11:45 PM, Eivind Eklund <eeklund@gmail.com> wrote:

> I can do a gem release if you're interested in using it.
>

I think it might be overkill for the purposes of inter-Actor messaging. For
the most part all that's needed for matching expected messages are the
expected tokens and wildcards.

I'm trying to port some more complex applications to Revactor and will
hopefully discover shortly if there's pattern matching corner cases the Case
gem can't provide.

--
Tony Arcieri
ClickCaster, Inc.
tony@clickcaster.com