Hello,
On Mon, May 07, 2012 at 14:42:05 +0000, Chris Wilson wrote:
> I suspect that the programming language overhead pales into insignificance
> compared to network latency and algorithm choice (including use of
> databases and indexes). Major applications are written in interpreted
> languages these days (Facebook, Hotmail, Basecamp, The Onion, Reddit), and
> as you pointed out, Sendmail is at least partly interpreted too.
>
> The heavy data processing bits, like virus scanning, are often written in
> C and would probably remain so; Spam Assassin is written in Perl and many
> sites pipe their mail through it.
There's a reason why it has the nickname RAM Assassin...
I'd rather not have my mailserver assassinate the other half of my
available RAM.
> I don't think a rewrite in e.g. Python would make thinks much worse, and
> it would make them easy to improve.
There are other mail servers written in Python and Lua already, so if
you're serious, you could as well take a look at them instead of
reinventing the wheel.
For instance, there's Tethys: (I don't know where the site went, though)
http://lists.luaforge.net/pipermail/luarocks-developers/2008-February/000341.html
Also, Zed Shaw has written a mailserver in Python, which has been around
for some time now, and seems to be stable:
http://lamsonproject.org/
In fact, compared to a "real" programming language, exim's configuration
file seems rather crude, so if I were to write an MTA in a scripting
language, I'd do it because there would be advanced scripting
capabilities, like using anonymous functions in the configuration file,
the way I remeber both Tethys and Lamson to do it. Why do you want to
retain backwards compatibility in a complete rewrite? This will be a
hard task and it will be hard to guarantee that every last bit of legacy
configuration files will be compatible with the new exim. In conclusion,
I don't think a rewrite is worth the hassle (and shouldn't be called
exim).
Best regards,
Moritz