> I was thinking, would it be feasible to have an option for spamassassin
> to exit after a message reached the spam threshold?

This gets discussed periodically, and I think there may be a bugzilla ticket
open on it as an enhamcement request.

It seems there are some implementation annoyances with actually making
something like this work.  Like network tests, which are started early but
may not come in until very late.  And Bayes, which can have a positive or
negative score.  And there are some pathelogical possible cases, like having
to run rules that are in metas before the metas can run, so you could
potentially get a lot of high-scoring rules before they are negated by a
negative-scoring meta.

I personally don't see any of these objections as really serious problems.
But then, I'm not a dev, so there are things I could be missing.  It
certainly is something that would take a little serious thought to make sure
that the rule ordering was correct, and you didn't end up bailing too early.
And that the cost of rule ordering didn't exceed the cost of simply running
all of the rules and looking at the final total!

It isn't clear that you can completely precompute the evaluation order,
since user rule files can change scores on rules, and users can (sometimes)
also have rules of their own.  You would potentially have to compute a graph
for each user, and somehow detect when the user's rules or scores have
changed and you need to recompute the graph.

Of course, one way of doing this would be to have a graph compiler that you
were required to run after making rule or score changes.  This would be an
annoyance, but I don't know that it would be completely unacceptable.

        Loren

Reply via email to