LWN.net Logo

LCA: Lessons from 30 years of Sendmail

LCA: Lessons from 30 years of Sendmail

Posted Feb 5, 2011 0:17 UTC (Sat) by dskoll (subscriber, #1630)
In reply to: LCA: Lessons from 30 years of Sendmail by foom
Parent article: LCA: Lessons from 30 years of Sendmail

And spam filtering of email content is frequently done with spamassassin -- written in Perl.

Indeed so. We use Perl (including SpamAssassin) to filter our mail.

In terms of memory size, SpamAssassin on our system is about 70MB per instance vs. about 9MB for Sendmail. (To be fair, we use a lot of other Perl modules apart from SpamAssasssin in our filter.) And when it comes to performance, SpamAssassin is so slow relative to Sendmail that Sendmail becomes completely negligible. Bolting anything in Perl onto Sendmail is like towing a five-ton truck with a motorcycle. :)


(Log in to post comments)

LCA: Lessons from 30 years of Sendmail

Posted Feb 5, 2011 0:43 UTC (Sat) by foom (subscriber, #14868) [Link]

Yes. Perl is an order of magnitude slower than C. Furthermore, spam filtering is inherently a harder job than mail routing. Yet, Spamassassin is *still* fast enough! Thus my claim: MTAs don't need to be written in C.

But writing a new MTA from scratch now is pretty pointless, no matter what language it's in.

LCA: Lessons from 30 years of Sendmail

Posted Feb 5, 2011 17:13 UTC (Sat) by dskoll (subscriber, #1630) [Link]

Thus my claim: MTAs don't need to be written in C.

That's probably true, 99% of the time. But again, MTA authors tend to worry a lot about performance and tend to write their software to cope with huge amounts of mail. I believe that's the correct approach because even a small site can suddenly get a huge spike in traffic for various reasons (eg, a spammer does a massive joe-job spam run.) You don't really want your email to fall over.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds