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.