Re: [exim] 4.87 -> 4.88 readconf performance

Top Page
Delete this message
Reply to this message
Author: lists-exim
Date:  
To: exim-users
Subject: Re: [exim] 4.87 -> 4.88 readconf performance
On Sun, Mar 05, 2017 at 07:56:12PM +0000, Jeremy Harris wrote:
> On 04/03/17 22:27, Wayne Cuddy wrote:
> > Instrumenting the code with rudimentary timing metrics I found that on
> > average in versions 4.66-4.87 readconf_main takes < 9000
> > microseconds.
> >
> > On 4.88 it takes on average 63000 microseconds.
>
> 4.88 added builtin macros (for assorted features) and a startup
> cost is associated with these. They are however only created
> in a lazy fashion, when a macro name is seen in the config input
> which starts underbar, letter. If you do not have any use of
> a macro matching that you should not see a longer startup cost
> for that specific reason.
>
> Please check that and say whether it provides a fix for you.


I am using macros but none that start with an underbar '_'. I have one
that defines the configuration directory.

CFG_DIR = /etc/exim

I then use that throughout the configuration file.

Aside from adding the "keep_environment =" line to exim.conf no other
changes were made to my configuration between 4.66 and 4.88.

I can try expanding the simple macro above manually in my
configuration just to see if that causes the problem to go away.

I can also sanitize the configuration and post it here if you think
that would help.

>
> > If I changed from piping the message to EXIM to connecting to
> > localhost:25 and sending the message via SMTP would that remove calls to
> > readconf_main.
>
> It would remove the per-message reception startup configuration read.
> The delivery cost would still be there.
>
> --
> Cheers,
> Jeremy
>


Thank you for the reply.
Wayne