librelist archives

« back to archive

ruby/cool.io or erlang/otp

ruby/cool.io or erlang/otp

From:
Maarten Oelering
Date:
2011-01-31 @ 21:13
Hello Tony,

I do a lot of programming in/around email systems, and use Ruby when  
I can. For creating a C10K email delivery engine I just started with  
Erlang/OTP, until I stumbled upon cool.io with it's elegant API. I  
created an smtp server in cool.io and noticed it was even faster than  
an erlang-smtp based server. The issue with cool.io is ofcourse that  
I need to make everything evented, unless something like Revactor  
will also work with cool.io. Another approach would be to delve into  
Reia, but this seems still a little too exotic for me.

What are your plans with cool.io. Do you think it will support libeio  
soon, and will I be able to use it with other cool things like zeromq  
or redis? Or, given that an email delivery engine is a lot of text  
processing, large persistent queues, and many connections, do you  
think the Erlang/OTP platform will remain a safe bet.

Thanks in advance for any suggestions,

Maarten Oelering

Re: [cool.io] ruby/cool.io or erlang/otp

From:
Tony Arcieri
Date:
2011-02-01 @ 08:08
On Mon, Jan 31, 2011 at 10:13 PM, Maarten Oelering <maarten@brightcode.nl>wrote:

> Hello Tony,
>
> I do a lot of programming in/around email systems, and use Ruby when
> I can. For creating a C10K email delivery engine I just started with
> Erlang/OTP, until I stumbled upon cool.io with it's elegant API. I
> created an smtp server in cool.io and noticed it was even faster than
> an erlang-smtp based server. The issue with cool.io is ofcourse that
> I need to make everything evented, unless something like Revactor
> will also work with cool.io. Another approach would be to delve into
> Reia, but this seems still a little too exotic for me.
>

Glad to hear that a cool.io-based server was so fast for you, and I'm
surprised it was faster than the Erlang version. As you can probably tell
from my Revactor and Reia projects, I am not a fan of evented programming.
Revactor does work on top of Rev which is the ancestor of cool.io but does
not have as nice of an API.


> What are your plans with cool.io. Do you think it will support libeio
> soon, and will I be able to use it with other cool things like zeromq
> or redis?


I looked at adding libeio support and it was nontrivial and not something
I'm planning on taking on any time soon. Support for other protocols like
ZeroMQ and Redis need people to write evented libraries, although I am not
really sure what the value of evented Redis is as Redis itself is very fast.
Perhaps if you are using blocking pops.


> Or, given that an email delivery engine is a lot of text
> processing, large persistent queues, and many connections, do you
> think the Erlang/OTP platform will remain a safe bet.


I think Erlang has a richer ecosystem, as does EventMachine if you have
considered that. However, EventMachine can be rather confusing, particularly
about handling exceptions.

-- 
Tony Arcieri
Medioh! Kudelski

Re: [cool.io] ruby/cool.io or erlang/otp

From:
Maarten Oelering
Date:
2011-02-01 @ 10:18
Thank you for your response and great work.

Maarten Oelering

On 1-feb-2011, at 9:08, Tony Arcieri wrote:

> On Mon, Jan 31, 2011 at 10:13 PM, Maarten Oelering  
> <maarten@brightcode.nl> wrote:
> Hello Tony,
>
> I do a lot of programming in/around email systems, and use Ruby when
> I can. For creating a C10K email delivery engine I just started with
> Erlang/OTP, until I stumbled upon cool.io with it's elegant API. I
> created an smtp server in cool.io and noticed it was even faster than
> an erlang-smtp based server. The issue with cool.io is ofcourse that
> I need to make everything evented, unless something like Revactor
> will also work with cool.io. Another approach would be to delve into
> Reia, but this seems still a little too exotic for me.
>
> Glad to hear that a cool.io-based server was so fast for you, and  
> I'm surprised it was faster than the Erlang version. As you can  
> probably tell from my Revactor and Reia projects, I am not a fan of  
> evented programming. Revactor does work on top of Rev which is the  
> ancestor of cool.io but does not have as nice of an API.
>
> What are your plans with cool.io. Do you think it will support libeio
> soon, and will I be able to use it with other cool things like zeromq
> or redis?
>
> I looked at adding libeio support and it was nontrivial and not  
> something I'm planning on taking on any time soon. Support for  
> other protocols like ZeroMQ and Redis need people to write evented  
> libraries, although I am not really sure what the value of evented  
> Redis is as Redis itself is very fast. Perhaps if you are using  
> blocking pops.
>
> Or, given that an email delivery engine is a lot of text
> processing, large persistent queues, and many connections, do you
> think the Erlang/OTP platform will remain a safe bet.
>
> I think Erlang has a richer ecosystem, as does EventMachine if you  
> have considered that. However, EventMachine can be rather  
> confusing, particularly about handling exceptions.
>
> -- 
> Tony Arcieri
> Medioh! Kudelski