On Sep 20, 2005, at 7:53 AM, David F. Skoll wrote:

John Rudd wrote:

Output from using Mail::ClamAV :
delta = 667

Output from using clamd:
delta = 65

Is your Mail::ClamAV code reloading the signature database for each
message?

Nope. Mail::ClamAV has a function which tests to see if there's new signatures, and only reloads them if there is. I suppose that check might also be somewhat expensive though. I guess I could try again with it not checking at all during the test.

That's probably what's killing the performance.  If you somehow
rework your code to load the signatures once when the filter starts up,
you might see better performance.

Except as above, that's pretty much what I do.

However, I still doubt that you'll beat clamd.  It's written in
multithreaded C, and the IPC overhead between the Perl filter and
clamd is minimal.

My current hypothesis is that because MailScanner does scans on huge (100ish) batches of messages all at once, it gets an economy of scale from Mail::ClamAV's archive mode that mimedefang just can't get (because it's a milter and must do one message at a time). Similarly, I don't know how they would invoke clamd on an archive without using clamdscan (which may just be my own ignorance about clamav), where clamdscan has to deal with fork and exec overhead, etc. And I think Julian has a bias against socket approaches (ex: spamc/spamd sends the message through a socket, which means you have to deal with extra overhead there, which makes it much slower than mailscanner's direct calling of the spam assassin libraries), and I don't know if that bias holds true for clamd or not. Anyway, my point is, at their economy of scale, clamd might not be a win for them.

The end result being, no shoe fits both feet. My starting point in this question was to try to use 1 method for both cases ... and I don't think that's going to hold up. Meanwhile, I want to at least be moving virus scanning to mimedefang, so it looks like clamd is going to be where I end up. I just wanted to be sure.

_______________________________________________
Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list
[email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to