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.

Reply via email to