Re: [Exim] Non-numeric variables in filters

Top Page
Delete this message
Reply to this message
Author: Nigel Metheringham
Date:  
To: Exim Users
Subject: Re: [Exim] Non-numeric variables in filters
ph10@??? said:
> The performance of an embedded scripting language may cause problems.
> It occurs to me that if I were to make it possible to link a C
> function with Exim, then you could either write your stuff in C
> (regex handling is already there using PCRE) or you could escape from
> C to Perl or (presumably) Python, or anything else.


Both perl & python can do precompile - python to the extent where it
saves out bytecode streams. If this function can be set up in such a
way that in general use the daemon takes the performance hit of the
compile and processes using the filter are forked off from it (without
a re-exec), then the run part of the script is not going to be
significantly slower than straight C (especially when you allow for the
very good regexp handling in perl which is much harder to duplicate in
C even with decent libraries).

On short messages (~ 20K) a single pass MIME decoder - see
http://mailtools.anomy.net/ - the perl compile stage takes around 75%
of the total CPU used for a single shot perl mail scanner. This is why
I am so keen on seeing if I can do one compile and multiple use.

    Nigel.
-- 
[ - Opinions expressed are personal and may not be shared by VData - ]
[ Nigel Metheringham                  Nigel.Metheringham@??? ]
[ Phone: +44 1423 850000                         Fax +44 1423 858866 ]