[spambayes-dev] SpamBayes server compliant w/ spamassassin

Skip Montanaro skip at pobox.com
Sat Apr 24 22:31:37 EDT 2004


    jkx> 1) you still need to create a python process for every incomming
    jkx>    mail sb_bnfilter. And python, even if it not a weight bloat,
    jkx>    python eat something like 4.5Mb of memory instead of the poor
    jkx>    500Ko of spamc

The sb_bnfilter/sb_bnserver combination runs several times faster on my
machine.  It would probably be faster if you recoded sb_bnfilter.py in C.
Feel free.

    jkx> 2) sb_bnserver need to be launch by the user (thought sb_bnfilter),
    jkx>    and it is written in this way, so it isn't system-wide filering.
    jkx>    spamc as some usefull stuff like round-robin filtering ..  For
    jkx>    example, if i need to dipatch a lot of mail in mailbox (mailing
    jkx>    list for example), for every user it will fork n servers .. and
    jkx>    so on ?

I don't recall that you said you wanted a single system-wide filter.
Spambayes isn't designed that way at any rate.  It will require some
significant effort.

    jkx> I think sb_bn* is pretty nice for a system w/ only few mail
    jkx> accounts and should performs very for bursting email dispatch for a
    jkx> single user like after a fetchmail... but this isn't my goal.

Some folks have experimented with using Spambayes for system-wide filtering.
I don't know that anybody's produced any conclusive results.

That said, one approach might be to rework sb_bnserver.py to open several
unix domain sockets (one per user) and listen on all of them.  When a
connection is made on a socket spin off a new thread to handle it and use
that user's database to score the message.  If the user doesn't have a
database of their own, default to a general database.

Once you have that working, you can rewrite sb_bnfilter.py in C to reduce
memory consumption and maybe improve performance a bit.  sb_bnserver.py
could probably be sped up just by running it with psyco.

Skip



More information about the spambayes-dev mailing list