Mail filters are slow, and become quite unusable when I got more than 20 rules.
I found that filter are sieve scripts stored on ldap.
Instead, should it not be better to make db's request like dbmail do (and I think, like tag and searches) ? It could be really faster to load and to execute, and should offer some possibilities like moving already received messages, or make filter using, for example, sender's tags.
Just an idea