Re: Announce: Haraka

[email protected] (Matt Sergeant)
Newsgroups perl.qpsmtpd
Message-ID <[email protected]>
Guy Hulbert wrote:
>> >  https://github.com/baudehlo/Haraka
>>      
>
> Had a look.  I recognize bits.  Do you have any feeling for how easy it
> is to code versus perl

Once you get used to the idiosyncrasies of Javascript, just as easy 
really. Took me a while to understand the object model, but everything 
seems to work ok now I mostly figured it out.

There's still stuff I have no idea how to do (the lack of "caller" 
telling me line numbers is annoying for example), but I'm getting there.

The other big thing is the libraries are simultaneously both sparse and 
weak. There's a CPAN equivalent (called "npm") but it's still very 
immature in terms of what's available. Even the core libraries are 
missing some fundamental stuff (like I can't do TLS as they removed 
support for upgrading a single client connection to TLS).

>   and how the performance might be versus qpsmtpd.
>    

It pretty much blows it away. Node can be pretty much as fast as a lisp 
or smalltalk implementation. All that research into dynamic languages is 
all going into Javascript these days, and none is going into perl (some 
is going into Python and Ruby, but not as much as JS). So I think it 
will always be quite a bit faster.

For reference I can (albeit without plugins) throw about 5000 mails/sec 
through it fairly easily it seems, though that's with persistent 
connections, and on localhost.

Performance was my main motivation for doing it.

The other thing is that everyone doing node.js is doing event 
programming, so all those libraries for database access and 
memcached/redis access and so on are all async already.

Matt.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.