procmail
[Top] [All Lists]

Re: search of header and body speeds?

2001-08-15 01:39:46
Dallman Ross <dman(_at_)nomotek(_dot_)com> writes:
From: John Conover <conover(_at_)rahul(_dot_)net>

Which construct is a faster implementation:

    :0
    * a header
    * another header
    { }

    :0 B
    * something in the body
    * somethine else in the body
    { }

Or:    
    
    :0
    * H a header
    * H another header
    * B something in the body
    * B somethine else in the body
    { }

I measured it, and didn't get much difference.

Well, for one, they're not doing quite the same thing.  Your first
set would need an `A' flag to keep it from being triggered by
all mail, not simply mail that was caught by the first recipe's
conditions.  (See man procmailrc.)

That said, I don't know which would be faster once they are
made to perform equivalently.

They're practically the same amount of effort.  The "B ??" condition
syntax is no more expensive than the B flag on the recipe itself.
I suppose the having to save a tiny bit of state when handling the braces
and the extra characters in general in the two recipe format are the
largest costs.  I would tend to write it as

        :0
        * a header
        * another header
        * B ?? something in the body
        * B ?? somethine else in the body
        { whatever here... }

but that's only because I find that the easiest to read...


Philip Guenther
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>