procmail
[Top] [All Lists]

RE: Some ideas to improve performance

2004-11-24 15:23:10


-----Original Message-----
From: procmail-bounces(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
[mailto:procmail-bounces(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE]On Behalf Of
mailarch(_at_)xy1(_dot_)org
Sent: Wednesday, November 24, 2004 10:37 AM
[...]


What I need would be that:
- support for multiple messages, currently procmail reads only one
  message from stdin, so formail is no more needed with my problem.
- support for the bison/yacc tools to precompile the procmailrc file
in a C file, and to compile the regex rules.

That is what you think that you need. I know you don't.

The only way I see to resolve my problem is to buy a new CPU with
more speed.
Because my CPU is already at 99% by executing "formail -s
procmail..." for more than 3 hours.

So there are two solutions:
- buying new processor with more speed
- changing the source code in procmail by adding multiple
messages support in procmailrc

The problem is the source code is for me a little difficult to understand.

I don't know what to do, but I need more performance speed!!
My CPU is already at 99% for several hours!

Would it be possible for you to post the procmail recipe that
you're piping mail into?  We might be able to understand better,
the performance bottlenecks, if we know what the procmail script
is doing.

I just did a little timing experiment. On an SGI Octane (roughly
equivalent to a 500Mhz Pentium, I'd guess), a simple formail -s
ran at a rate 484 messages per second. Adding the overhead of forking
procmail (formail -s procmail -m /dev/null < in_file > /dev/null)
dropped the message throughput to 80 messages per second. From this
we can conclude that there would be a noticeable improvment in
performance if procmail was able to do its own mbox splitting.
Of course, in this experiment procmail isn't doing anything, and
it certainly isn't calling a Perl script to process each mail. As a
baseline,
a null Perl script that does nothing except slurp the entire input
message into a string dropped the message throughput to 53 messages/second,
when forked from formail.



____________________________________________________________
procmail mailing list   Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail